现在android项目values下打

attrs.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources>
  3. <attr name="bookimage" format="reference|color" />
  4. <attr name="tvcolor" format="reference|color" />
  5. </resources>

style.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources>
  3. <!-- 默认风格 -->
  4. <style name="BrowserThemeDefault" parent="@android:style/Theme.Black.NoTitleBar">
  5. <item name="bookimage">@android:color/white</item>
  6. <item name="tvcolor">@android:color/darker_gray</item>
  7. </style>
  8.  
  9. <!-- 夜间模式 -->
  10. <style name="BrowserThemeNight" parent="@android:style/Theme.Black.NoTitleBar">
  11. <item name="bookimage">@android:color/transparent</item>
  12. <item name="tvcolor">@android:color/white</item>
  13. </style>
  14. </resources>

layout下activity_main

  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2.  
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
    //界面颜色改变
  5. android:background="?bookimage"
  6. >
  7.  
  8. <TextView
  9. android:id="@+id/textView1"
  10. android:layout_width="wrap_content"
  11. android:layout_height="wrap_content"
  12. android:text="@string/hello_world"
    //字体颜色改变
  13. android:textColor="?tvcolor"/>
  14.  
  15. <Button
  16. android:id="@+id/button1"
  17. android:layout_width="wrap_content"
  18. android:layout_height="wrap_content"
  19. android:layout_centerHorizontal="true"
  20. android:layout_centerVertical="true"
    //监听方法
  21. android:onClick="btonclick"
  22. android:text="日/夜间模式切换" />
  23.  
  24. <Button
  25. android:id="@+id/button2"
  26. android:layout_width="wrap_content"
  27. android:layout_height="wrap_content"
  28. android:layout_below="@+id/textView1"
  29. android:layout_centerHorizontal="true"
  30. android:layout_marginTop="116dp"
  31. android:onClick="btonclick2"
  32. android:text="跳转其他页面" />
  33.  
  34. </RelativeLayout>

MainActivity

  1. package com.example.zdndemo;
  2.  
  3. import android.os.Bundle;
  4. import android.app.Activity;
  5. import android.content.Intent;
  6. import android.content.SharedPreferences;
  7. import android.content.SharedPreferences.Editor;
  8. import android.view.Menu;
  9. import android.view.MenuInflater;
  10. import android.view.MenuItem;
  11. import android.view.View;
  12.  
  13. public class MainActivity extends Activity {
  14. private static boolean blFlag = false;
  15. @Override
  16. protected void onCreate(Bundle savedInstanceState) {
  17. super.onCreate(savedInstanceState);
  18.  
  19. SharedPreferences preferences = getSharedPreferences("default_night",
  20. MODE_PRIVATE);
  21. blFlag = preferences.getBoolean("default_night",true);
  22. if (blFlag) {
  23. this.setTheme(R.style.BrowserThemeDefault);
  24. }
  25. else {
  26. this.setTheme(R.style.BrowserThemeNight);
  27. }
  28. //上面的代码必须要放在setContentView之上
  29.  
  30. setContentView(R.layout.activity_main);
  31. }
  32.  
  33. public void btonclick(View view) {
  34. SharedPreferences preferences = getSharedPreferences("default_night",MODE_PRIVATE);
  35. Editor editor = preferences.edit();
  36. if (blFlag) {
  37. this.setTheme(R.style.BrowserThemeNight);
  38. blFlag =false;
  39. editor.putBoolean("default_night",false);
  40. } else {
  41. this.setTheme(R.style.BrowserThemeDefault);
  42. blFlag = true;
  43. editor.putBoolean("default_night",true);
  44.  
  45. }
  46. // 提交修改
  47. editor.commit();
  48. this.setContentView(R.layout.activity_main);
    //不行的话在跳下本页面

  49. }
  50.  
  51. public void btonclick2(View view) {
  52. Intent intent = new Intent();
  53. intent.setClass(this, breakactivity.class);
  54. startActivity(intent);
  55. }
  56. }

android简单的夜间模式的更多相关文章

  1. Android白天/夜间模式Day/Night Mode标准原生SDK实现

     Android白天/夜间模式Day/Night Mode标准原生SDK实现 章节A:Android实现白天/夜间模式主要控制器在于UiModeManager,UiModeManager是Andr ...

  2. Android 利用an框架快速实现夜间模式的两种套路

    作者:Bgwan链接:https://zhuanlan.zhihu.com/p/22520818来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 网上看到过大多实现夜间模 ...

  3. 【android】夜间模式简单实现

    完整代码,请参考我的博客园客户端,git地址:http://git.oschina.net/yso/CNBlogs 关于阅读类的app,有个夜间模式真是太重要了. 那么有两种方式可以实现夜间模式 1: ...

  4. Android 之夜间模式(多主题)的实现

    引言 夜间模式其实属于多主题切换的一种,不过是最麻烦的一种.因为在夜间模式下不仅要切换主色调,次要色调等等,还要覆盖一些特殊的颜色,因为在夜间模式下总不能什么都是黑的把,那不得丑死-.-,所以当你夜间 ...

  5. Android 夜间模式changeskin小结

    @author vivian8725118 @CSDN http://blog.csdn.net/vivian8725118 @简书 http://www.jianshu.com/p/832e9776 ...

  6. Android夜间模式的几种实现

    一.直接修改widget颜色,这种方式实现起来最简单,但需要每个控件都去修改,太过复杂.例如: /** * 相应交互,修改控件颜色 * @param view */public void onMeth ...

  7. Android实现夜间模式小结

    随着APP实现的功能越来越丰富, 看小说看视频上网等等, 如今不少人花在手机平板等移动终端上的时间越来越长了. 但手机和平板的屏幕并不像Kindle那类电纸书的水墨屏那么耐看, 因为自发光的屏幕特性, ...

  8. android夜间模式实现

    一.概述 android夜间模式实现分为两大类 重启activity的实现 不重启activity的实现 二.正文 1.重启activity实现夜间模式[在界面文件中的实现部分] 1.1在attrs. ...

  9. Android主题切换—夜间/白天模式探究

    现在市面上众多阅读类App都提供了两种主题:白天or夜间. 上述两幅图片,正是两款App的夜间模式效果,所以,依据这个功能,来看看切换主题到底是怎么实现的(当然现在github有好多PluginThe ...

随机推荐

  1. Java学习-038-JavaWeb_007 -- JSP 动作标识 - plugin

    plugin 动作时用来在 JSP 页面中加载 Java Applet 或者 JavaBean 组件,语法格式如下所示: <jsp:plugin type="bean|applet&q ...

  2. @Mybatis传多个参数

    首选还是按照面向对象的方式执行sql.但是有时候入参对象嵌套的比较深,类中有类,面向对象就不太好处理了 主要有以下两种方式 1.DAO层的函数方法 public User selectUser(Str ...

  3. rem适配

    //REM适配new function() { var _self = this; _self.width = 640; // 设置默认最大宽度 _self.fontSize = 100; // 默认 ...

  4. Installation of Theano on Windows

    http://deeplearning.net/software/theano/install_windows.html

  5. 一些常用的linux命令

    查看本机ip地址 ifconfig ln -s phpmyadmin 添加链接 /var/www/  与html  同级 打开本机电脑硬盘: cd /media/用户名 文件夹的新建命令: sudo ...

  6. 微信公众平台开发(112) 自动更新微信access token

    关键字:Memcache access_token 更新 存储 7200 本文介绍如何存储及更新 access token的方法. 一.Access Token access_token是公众号的全局 ...

  7. linux 进入mysql

    mysql -u root -ppassword show databases; \h 帮助 \q 退出

  8. BlockingQueue的使用

    本例介绍一个特殊的队列:BlockingQueue,如果BlockQueue是空的,从BlockingQueue取东西的操作将会被阻断进入等待状态,直到BlockingQueue进了东西才会被唤醒.同 ...

  9. MAC下Android的Eclipse开发环境的搭建

    一.Eclipse的下载 到网站:http://www.eclipse.org/downloads/ 上,由于我们是用Java开发的所以步骤如下: 1.  找到"Eclipse IDE fo ...

  10. int[] List<int> 排序

    ; List<,,,,,,}; ,,,,}; List<int> result = allingInts.ToList(); result.Sort(); allingInts = ...