现在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);
}
}

 
   

转载于:https://www.cnblogs.com/nanze/p/5384137.html

android简单的夜间模式相关推荐

  1. android 夜间模式代码,Android 超简单的夜间模式如何实现?

    原标题:Android 超简单的夜间模式如何实现? 本文作者 作者: 唐子玄 实现夜间模式有很多种方式,经过多次尝试,算是找到了一种性价比较高的方式. 1 主题方式 这是最正统的方式,但工作量巨大,因 ...

  2. 一种简单快速的方式实现 Android App 的夜间模式

    博主声明: 转载请在开头附加本文链接及作者信息,并标记为转载.本文由博主 威威喵 原创,请多支持与指教. 本文首发于此   博主:威威喵  |  博客主页:https://blog.csdn.net/ ...

  3. android自动夜间模式,Android实现日夜间模式的深入理解

    在本篇文章中给出了三种实现日间/夜间模式切换的方案,三种方案综合起来可能导致文章的篇幅过长,请耐心阅读. 1.使用 setTheme的方法让 Activity重新设置主题: 2.设置 Android ...

  4. android 一键切换夜间模式,实用小工具“月食”:一键切换夜间模式

    很多朋友都习惯在夜晚被窝里玩手机,这对眼睛非常不好.这时候,开启夜间模式,可以更好地舒缓眼睛疲劳.然而并不是所有App都支持夜间模式,怎么办?所幸安卓还是比较开放的,一些App可以令系统开启全局夜间模 ...

  5. android menu夜间模式,Android常用技巧夜间模式开发浅析

    前言 Android的夜间模式主要主用于阅读方面,在QQ,微信读书,新闻阅读类一般会有相应的功能,本文主要介绍整体APP的夜间模式以及webview中夜间模式的实现. 效果图展示 功能实现简介 APP ...

  6. android如何做夜间模式,Android实现日夜间模式的三种常用方法(一)

    1.使用 setTheme的方法让 Activity重新设置主题: 2.设置 Android Support Library中的 UiMode来支持日间/夜间模式的切换: 3.通过资源 id 映射,回 ...

  7. android 8.1 夜间模式,android 快速实现夜间模式

    最近项目中遇到了一个问题,夜间模式在8.0以上的手机中不起作用,查看了一下原因,是夜间模式实现方法的问题.分两种情况介绍一下 先看一下运行效果: 第一种 是目前项目中用到的,是以前的开发人员写的,存在 ...

  8. Android自动启用夜间模式,Android – 切换夜间模式

    什么是夜间主题以及如何在ANDROID中使用它? Support Library 23.2(应用于API14+)推出了适合Android Apps的DayNight主题,它将根据时间和用户最后一次提供 ...

  9. android 快速实现夜间模式

    最近项目中遇到了一个问题,夜间模式在8.0以上的手机中不起作用,查看了一下原因,是夜间模式实现方法的问题.分两种情况介绍一下 先看一下运行效果: 第一种 是目前项目中用到的,是以前的开发人员写的,存在 ...

最新文章

  1. 联想杜比音效_联想小新15 2020锐龙版开售
  2. java的两种运行方式Applet和Application你真的懂吗
  3. C++面试常见问题一
  4. java scrollpane放按钮_java – 如何在BoxLayout上放置scrollPane?
  5. 2 ABAP命名规则
  6. java线程创建过程_Java创建线程的细节分析
  7. linux kernel 下的hash 和链表 应用
  8. String、StringBuilder、StringBuffer 区别
  9. Cisco Packet Tracer安装教程
  10. 打印机出现另存为xps_打印机打印文件时弹出另存为xps/pdf该怎办?
  11. 快捷打开计算机管理设置,Win7系统下怎么设置Ctrl+Alt+Del快捷打开任务管理器【图文】...
  12. 常见国际贸易专业术语
  13. 趋势科技2013/2014序列号
  14. 手机端输入框默认打开手机数字键盘
  15. 都有云技术了,传统动态vps还有什么用?
  16. 搜索引擎Google的小秘密
  17. P14 Optimistic Concurrency Control 课程观看笔记
  18. 栈解旋unwinding
  19. 用Bittorrent和PHP搭建BT Tracker服务器和发布页
  20. D. 互联网架构模板

热门文章

  1. javascript设计模式简单介绍之【工厂模式】
  2. 高效管理ASP.NET的JavaScript库
  3. Mysql 数据库水平分表 存储过程
  4. 烂泥:通过vsphere给esxi添加本地硬盘
  5. 如约而至 Nexus 6 的 Android 7.1.1 已经上线
  6. 精述IBM的MQTT协议和MQTT-S协议
  7. Android 调用分享框
  8. C#中跨窗体操作(1)--事件
  9. [Windows Phone] 为应用添加后台计划任务 – Scheduled Task Agent
  10. 用JAI实现对TIF(TIFF)格式图片的合并