白天夜间模式切换(2)
来源:互联网 发布:怎样和淘宝卖家聊天 编辑:程序博客网 时间:2024/06/11 20:48
<span style="font-size:18px;"><code class="hljs java has-numbering"><span class="hljs-keyword">import</span> android.support.v7.app.ActionBarActivity;<span class="hljs-keyword">import</span> android.content.Context;<span class="hljs-keyword">import</span> android.content.SharedPreferences;<span class="hljs-keyword">import</span> android.content.SharedPreferences.Editor;<span class="hljs-keyword">import</span> android.graphics.Color;<span class="hljs-keyword">import</span> android.graphics.PixelFormat;<span class="hljs-keyword">import</span> android.os.Bundle;<span class="hljs-keyword">import</span> android.view.Gravity;<span class="hljs-keyword">import</span> android.view.View;<span class="hljs-keyword">import</span> android.view.View.OnClickListener;<span class="hljs-keyword">import</span> android.view.WindowManager;<span class="hljs-keyword">import</span> android.view.WindowManager.LayoutParams;<span class="hljs-keyword">import</span> android.widget.Button;<span class="hljs-keyword">import</span> android.widget.TextView;<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">MainActivity</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">ActionBarActivity</span> {</span> <span class="hljs-comment">// 获得窗体的管理者</span> <span class="hljs-keyword">private</span> WindowManager mWindowManager; <span class="hljs-keyword">private</span> Button dayandnight; <span class="hljs-keyword">private</span> SharedPreferences skinSp; <span class="hljs-keyword">private</span> <span class="hljs-keyword">int</span> flag = <span class="hljs-number">0</span>; <span class="hljs-keyword">private</span> View myView; <span class="hljs-keyword">private</span> <span class="hljs-keyword">final</span> <span class="hljs-keyword">static</span> String DAY = <span class="hljs-string">"day"</span>; <span class="hljs-keyword">private</span> <span class="hljs-keyword">final</span> <span class="hljs-keyword">static</span> String NIGHT = <span class="hljs-string">"night"</span>; <span class="hljs-annotation">@Override</span> <span class="hljs-keyword">protected</span> <span class="hljs-keyword">void</span> <span class="hljs-title">onCreate</span>(Bundle savedInstanceState) { <span class="hljs-keyword">super</span>.onCreate(savedInstanceState); <span class="hljs-comment">// 获得系统服务的窗体服务 在加载视图之前实现</span> mWindowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);<span class="hljs-comment">// 根据上下文获得窗体的服务</span> setContentView(R.layout.activity_main); init(); } <span class="hljs-keyword">private</span> <span class="hljs-keyword">void</span> <span class="hljs-title">init</span>() { <span class="hljs-comment">// 获得轻量级存储类</span> skinSp = <span class="hljs-keyword">this</span>.getSharedPreferences(<span class="hljs-string">"skinchange"</span>, MODE_PRIVATE);<span class="hljs-comment">// 私有模式</span> dayandnight = (Button) findViewById(R.id.dayandnight); dayandnight.setOnClickListener(<span class="hljs-keyword">new</span> OnClickListener() { <span class="hljs-annotation">@Override</span> <span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">onClick</span>(View v) { <span class="hljs-keyword">if</span> (flag % <span class="hljs-number">2</span> == <span class="hljs-number">0</span>) {<span class="hljs-comment">// 这个是白天的模式</span> night(); dayandnight.setText(<span class="hljs-string">"白天模式"</span>); dayandnight.setTextColor(Color.WHITE); flag++; } <span class="hljs-keyword">else</span> { Day(); dayandnight.setText(<span class="hljs-string">"夜间模式"</span>); dayandnight.setTextColor(Color.BLACK); flag++; } } }); <span class="hljs-comment">// 获得是夜间模式还是白天的模式</span> String mode = skinSp.getString(<span class="hljs-string">"skin"</span>, <span class="hljs-string">""</span>); <span class="hljs-keyword">if</span> (mode != <span class="hljs-keyword">null</span> || !mode.equals(<span class="hljs-string">""</span>)) { <span class="hljs-keyword">if</span> (mode.equals(NIGHT)) { night(); } <span class="hljs-keyword">else</span> { Day(); } } } <span class="hljs-keyword">private</span> <span class="hljs-keyword">void</span> <span class="hljs-title">night</span>() { WindowManager.LayoutParams params = <span class="hljs-keyword">new</span> WindowManager.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT, WindowManager.LayoutParams.TYPE_APPLICATION, WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, PixelFormat.TRANSLUCENT);<span class="hljs-comment">// 设置的五个参数</span> params.gravity = Gravity.BOTTOM; params.y = <span class="hljs-number">10</span>; <span class="hljs-keyword">if</span> (myView == <span class="hljs-keyword">null</span>) { myView = <span class="hljs-keyword">new</span> TextView(<span class="hljs-keyword">this</span>); myView.setBackgroundColor(<span class="hljs-number">0x80000000</span>); } mWindowManager.addView(myView, params); Editor edit = skinSp.edit(); edit.putString(<span class="hljs-string">"skin"</span>, NIGHT); edit.commit(); } <span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Day</span>() { <span class="hljs-keyword">if</span> (myView != <span class="hljs-keyword">null</span>) { mWindowManager.removeView(myView); Editor edit = skinSp.edit(); edit.putString(<span class="hljs-string">"skin"</span>, DAY); edit.commit(); } } <span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">removeSkin</span>() { <span class="hljs-keyword">if</span> (myView != <span class="hljs-keyword">null</span>) { mWindowManager.removeView(myView); } } <span class="hljs-annotation">@Override</span> <span class="hljs-keyword">protected</span> <span class="hljs-keyword">void</span> <span class="hljs-title">onDestroy</span>() { <span class="hljs-keyword">super</span>.onDestroy(); String mode = skinSp.getString(<span class="hljs-string">"skin"</span>, <span class="hljs-string">""</span>); <span class="hljs-keyword">if</span> (mode.equals(NIGHT)) { removeSkin(); } }}</code></span>
0 0
- 白天夜间模式切换(2)
- 白天夜间模式切换(2)
- 白天夜间模式切换
- 白天夜间模式切换
- 夜间白天模式切换
- 白天夜间模式切换
- 白天夜间模式的切换
- app白天夜间模式切换
- android 白天模式/夜间模式切换
- 夜间白天切换模式以及沉浸式模式
- 安卓中白天模式和夜间模式的切换
- Android中白天模式与夜间模式的切换
- Android主题切换—夜间/白天模式探究
- jquerydemo夜间模式,白天模式
- DKNightVersion 夜间模式/白天模式
- 简单的主题白天夜间切换
- 三行代码实现白天夜间模式流畅切换的实现库
- android设置白天模式和夜间模式
- Gradle编译打包小结
- 利用calssName给元素修改样式
- Spring 之 AOP
- 第一个只出现一次的字符位置
- DOM
- 白天夜间模式切换(2)
- 项目伊始如何入手
- HTTPS的学习与使用
- 项目 - 小玩文件
- 【leetcode】223. Rectangle Area
- Android的POST方法详解
- 两列等高布局
- 搞ACM有个卵用
- 项目-用文件保存的学生名单