android简单的夜间模式
现在android项目values下打
attrs.xml
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <attr name="bookimage" format="reference|color" />
- <attr name="tvcolor" format="reference|color" />
- </resources>
style.xml

- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <!-- 默认风格 -->
- <style name="BrowserThemeDefault" parent="@android:style/Theme.Black.NoTitleBar">
- <item name="bookimage">@android:color/white</item>
- <item name="tvcolor">@android:color/darker_gray</item>
- </style>
- <!-- 夜间模式 -->
- <style name="BrowserThemeNight" parent="@android:style/Theme.Black.NoTitleBar">
- <item name="bookimage">@android:color/transparent</item>
- <item name="tvcolor">@android:color/white</item>
- </style>
- </resources>

layout下activity_main

- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
//界面颜色改变- android:background="?bookimage"
- >
- <TextView
- android:id="@+id/textView1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/hello_world"
//字体颜色改变- android:textColor="?tvcolor"/>
- <Button
- android:id="@+id/button1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_centerHorizontal="true"
- android:layout_centerVertical="true"
//监听方法- android:onClick="btonclick"
- android:text="日/夜间模式切换" />
- <Button
- android:id="@+id/button2"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_below="@+id/textView1"
- android:layout_centerHorizontal="true"
- android:layout_marginTop="116dp"
- android:onClick="btonclick2"
- android:text="跳转其他页面" />
- </RelativeLayout>

MainActivity

- package com.example.zdndemo;
- import android.os.Bundle;
- import android.app.Activity;
- import android.content.Intent;
- import android.content.SharedPreferences;
- import android.content.SharedPreferences.Editor;
- import android.view.Menu;
- import android.view.MenuInflater;
- import android.view.MenuItem;
- import android.view.View;
- public class MainActivity extends Activity {
- private static boolean blFlag = false;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- SharedPreferences preferences = getSharedPreferences("default_night",
- MODE_PRIVATE);
- blFlag = preferences.getBoolean("default_night",true);
- if (blFlag) {
- this.setTheme(R.style.BrowserThemeDefault);
- }
- else {
- this.setTheme(R.style.BrowserThemeNight);
- }
- //上面的代码必须要放在setContentView之上
- setContentView(R.layout.activity_main);
- }
- public void btonclick(View view) {
- SharedPreferences preferences = getSharedPreferences("default_night",MODE_PRIVATE);
- Editor editor = preferences.edit();
- if (blFlag) {
- this.setTheme(R.style.BrowserThemeNight);
- blFlag =false;
- editor.putBoolean("default_night",false);
- } else {
- this.setTheme(R.style.BrowserThemeDefault);
- blFlag = true;
- editor.putBoolean("default_night",true);
- }
- // 提交修改
- editor.commit();
- this.setContentView(R.layout.activity_main);
//不行的话在跳下本页面
- }
- public void btonclick2(View view) {
- Intent intent = new Intent();
- intent.setClass(this, breakactivity.class);
- startActivity(intent);
- }
- }

android简单的夜间模式的更多相关文章
- Android白天/夜间模式Day/Night Mode标准原生SDK实现
Android白天/夜间模式Day/Night Mode标准原生SDK实现 章节A:Android实现白天/夜间模式主要控制器在于UiModeManager,UiModeManager是Andr ...
- Android 利用an框架快速实现夜间模式的两种套路
作者:Bgwan链接:https://zhuanlan.zhihu.com/p/22520818来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 网上看到过大多实现夜间模 ...
- 【android】夜间模式简单实现
完整代码,请参考我的博客园客户端,git地址:http://git.oschina.net/yso/CNBlogs 关于阅读类的app,有个夜间模式真是太重要了. 那么有两种方式可以实现夜间模式 1: ...
- Android 之夜间模式(多主题)的实现
引言 夜间模式其实属于多主题切换的一种,不过是最麻烦的一种.因为在夜间模式下不仅要切换主色调,次要色调等等,还要覆盖一些特殊的颜色,因为在夜间模式下总不能什么都是黑的把,那不得丑死-.-,所以当你夜间 ...
- Android 夜间模式changeskin小结
@author vivian8725118 @CSDN http://blog.csdn.net/vivian8725118 @简书 http://www.jianshu.com/p/832e9776 ...
- Android夜间模式的几种实现
一.直接修改widget颜色,这种方式实现起来最简单,但需要每个控件都去修改,太过复杂.例如: /** * 相应交互,修改控件颜色 * @param view */public void onMeth ...
- Android实现夜间模式小结
随着APP实现的功能越来越丰富, 看小说看视频上网等等, 如今不少人花在手机平板等移动终端上的时间越来越长了. 但手机和平板的屏幕并不像Kindle那类电纸书的水墨屏那么耐看, 因为自发光的屏幕特性, ...
- android夜间模式实现
一.概述 android夜间模式实现分为两大类 重启activity的实现 不重启activity的实现 二.正文 1.重启activity实现夜间模式[在界面文件中的实现部分] 1.1在attrs. ...
- Android主题切换—夜间/白天模式探究
现在市面上众多阅读类App都提供了两种主题:白天or夜间. 上述两幅图片,正是两款App的夜间模式效果,所以,依据这个功能,来看看切换主题到底是怎么实现的(当然现在github有好多PluginThe ...
随机推荐
- Java学习-038-JavaWeb_007 -- JSP 动作标识 - plugin
plugin 动作时用来在 JSP 页面中加载 Java Applet 或者 JavaBean 组件,语法格式如下所示: <jsp:plugin type="bean|applet&q ...
- @Mybatis传多个参数
首选还是按照面向对象的方式执行sql.但是有时候入参对象嵌套的比较深,类中有类,面向对象就不太好处理了 主要有以下两种方式 1.DAO层的函数方法 public User selectUser(Str ...
- rem适配
//REM适配new function() { var _self = this; _self.width = 640; // 设置默认最大宽度 _self.fontSize = 100; // 默认 ...
- Installation of Theano on Windows
http://deeplearning.net/software/theano/install_windows.html
- 一些常用的linux命令
查看本机ip地址 ifconfig ln -s phpmyadmin 添加链接 /var/www/ 与html 同级 打开本机电脑硬盘: cd /media/用户名 文件夹的新建命令: sudo ...
- 微信公众平台开发(112) 自动更新微信access token
关键字:Memcache access_token 更新 存储 7200 本文介绍如何存储及更新 access token的方法. 一.Access Token access_token是公众号的全局 ...
- linux 进入mysql
mysql -u root -ppassword show databases; \h 帮助 \q 退出
- BlockingQueue的使用
本例介绍一个特殊的队列:BlockingQueue,如果BlockQueue是空的,从BlockingQueue取东西的操作将会被阻断进入等待状态,直到BlockingQueue进了东西才会被唤醒.同 ...
- MAC下Android的Eclipse开发环境的搭建
一.Eclipse的下载 到网站:http://www.eclipse.org/downloads/ 上,由于我们是用Java开发的所以步骤如下: 1. 找到"Eclipse IDE fo ...
- int[] List<int> 排序
; List<,,,,,,}; ,,,,}; List<int> result = allingInts.ToList(); result.Sort(); allingInts = ...