安卓9 开发者 夜间模式

夜间模式是一种可以在暗光环境下减轻眼睛压力的显示方式,多见于手机、电脑等设备。随着智能手机的快速发展,越来越多的应用程序支持夜间模式,Android9也不例外。在本文中,我们将介绍Android 9 夜间模式的实现原理和详细介绍。

实现原理

Android 9夜间模式的实现基于两个方面的技术:主题样式和场景识别。

主题样式: Android 9 夜间模式使用主题样式将屏幕的颜色从白色转变为黑色或灰色色。主题样式可以定义为布局的 XML 文件,内容包括字体、颜色、背景等。

场景识别: Android 9 夜间模式需要识别当前的环境,在白天,应用程序应默认显示白色主题,而在晚上或光线较暗的环境下,则应自动切换到黑色或灰色主题。为了实现场景识别,Android 9 加入了“UiModeManager”类,该类提供了 "setNightMode()"、"getNightMode()" 等方法,允许应用程序设置和获取当前 UI 模式。

详细介绍

下面是 Android 9 夜间模式的详细介绍:

1.支持夜间模式的应用程序

Android 9 夜间模式仅支持使用 Theme.AppCompat.DayNight 主题的应用程序。负责夜间效果的 Theme.AppCompat.DayNight 主题是在 AppCompat 库中实现的,同时也实现了自动切换日/夜模式。

2.添加依赖库

如果希望使用 AppCompat 库中的 DayNight 主题,则必须在 build.gradle 中添加以下依赖库:

dependencies {

implementation 'com.android.support:appcompat-v7:28.0.0'

}

3.设置主题

为了在应用程序中启用夜间模式,必须在 AndroidManifest.xml 中设置主题。可以将主题设置为 AppCompat.DayNight,同时指定使用的颜色主题。以下是一个例子:

android:theme="@style/AppTheme.Dark"

4.创建颜色主题

在 res/values 文件夹下创建两个文件夹: values 和 values-night。在 values 中创建 colors.xml 文件,定义日间模式使用的颜色;在 values-night 中创建 colors.xml 文件,定义夜间模式使用的颜色。

例如,以下是 values/colors.xml 文件的内容:

#3F51B5

#303F9F

#FF4081

以下是 values-night/colors.xml 文件的内容:

#1C2331

#0A0F18

#FF4081

在夜间模式下,颜色将从 values-night/colors.xml 文件中读取。

5.启用自动夜间模式切换

为了使应用程序能够自动切换日/夜模式,必须使用 UiModeManager 类中的 setNightMode () 方法。为了提高兼容性,可以使用 AppCompatDelegate 类和 AppCompatDelegate.getDefaultNightMode() 方法进行设置。

例如,以下代码将自动切换日/夜模式:

AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_AUTO_BATTERY);

以上代码将根据设备电池电量自动切换到日/夜模式。

还有一些其他的 AppCompat.MODE_NIGHT_NO、MODE_NIGHT_YES 和 MODE_NIGHT_FOLLOW_SYSTEM 选项,分别表示禁用日/夜模式、每次启动时始终使用夜间模式和随着系统日/夜模式切换。

总结

Android 9 的夜间模式能够在白天和晚上自动切换不同的颜色主题,明显减轻了眼睛的压力。通过 UiModeManager 中的类和 AppCompat 库的支持,在应用程序中也能方便地实现夜间模式。


相关知识:
lamp安卓开发
LAMP(Linux + Apache + MySQL + PHP) 是一种常用的 Web 开发平台,可以在 Linux 上快速搭建 Web 服务器,并支持 PHP 脚本语言编写动态网页。在实际的应用中,LAMP 还可以被改为 LEMP(Linux + N
2023-05-23
k30pro安卓11开发版
K30Pro是小米公司旗下一款性能较为强劲的手机,而K30Pro安卓11开发版则是一款基于安卓11系统进行二次开发的特别版本。这个开发版的推出,主要是为了给开发人员提供更为完善的工具,让他们能够更加方便快捷地进行开发工作。首先,我们来介绍一下这个开发版相对
2023-05-23
app 开发 安卓 苹果
App开发是一项复杂的技术活动,通常需要开发人员有扎实的编程知识、开发经验和设计能力。同时,不同操作系统的App开发具有自己的特点,例如安卓和苹果操作系统。首先,我们来介绍安卓系统下的App开发。安卓操作系统采用Java编程语言,Android Studi
2023-05-23
4412的安卓开发版为什么少
4412的安卓开发版在市面上的确比较少,这主要是因为4412芯片已经比较老旧,市场需求不再那么大。同时,随着时代的发展和技术的不断进步,消费者对于手机的性能和功能要求也越来越高,相应的需求也发生了变化。下面我们来详细介绍一下4412的安卓开发版为什么少。1
2023-05-23
网址怎么封装app安卓应用
网址封装App其实就是将一个网址或者Web应用封装成一个移动应用程序。这种封装方式在一定程度上能够弥补原生App的一些不足。比如,对于一些功能简单的小应用,它可以极大地减少开发成本和时间,同时还能够跨平台运行,实现移动端的快速上线发布。下面是一些封装方法:
2023-04-28
温州安卓app开发报价
温州安卓APP开发报价和原理详细介绍在当前科技高速发展的时代,智能手机的普及和移动互联网的高速发展极大地推动了移动应用软件(APP)市场的繁荣。安卓系统作为全球市场占有率最高的移动操作系统,使得安卓APP开发成为各行业关注的焦点。本文将深入了解温州地区安卓
2023-04-28
安卓手机app前端开发参考文献
以下是一些关于安卓手机app前端开发方面的参考文献,其中包括了原理或详细介绍:1. 《Android开发指南》这本书是一本比较系统的介绍安卓开发的书籍,其中涵盖了很多前端开发的内容,例如UI设计、布局、组件,以及其他相关的技术。2. 《Android界面设
2023-04-28
安卓多开app能自己制作吗
安卓多开 APP 的实现原理是通过仿冒客户端和创建虚拟环境的方式实现的。在操作系统中,我们常常会遇到多进程并发运行的情况,此时每个进程都有自己独立的内存空间,相互独立,不会相互干扰。工具通过创建一个虚拟的 Android 环境,并在这个环境中安装多个相同的
2023-04-28
安卓一键制作app软件
安卓一键制作app软件的原理其实并不神秘,本质上就是利用已有的模板,通过简单的设置,快速生成一个可用的Android应用程序。下面是一些常见的一键制作app软件的原理或者详细介绍:1. AppCan:AppCan是国内一款非常流行的一键制作app软件,在其
2023-04-28
安卓app是如何被开发出来的
安卓应用程序(App)的开发过程可能对初学者来说似乎有点复杂。但是,通过以下详细介绍,你会逐渐理解安卓App的开发原理。整个开发过程可以分为以下几个步骤:1. 准备开发环境在开始开发安卓App之前,首先需要准备相应的开发环境。通常,我们需要安装Androi
2023-04-28
安卓app应用开发公司企业模板
安卓应用开发企业模板一般是指用于企业建立、宣传和扩展业务的应用程序的基本设计和功能。安卓是谷歌的开源移动操作系统,占有着世界主要的市场份额,因此,为企业创建安卓应用变得尤为重要。以下是针对安卓应用开发企业模板的一份原理及详细介绍。一、企业安卓应用开发模板包
2023-04-28
java开发安卓app全流程
Java开发安卓App的全流程包括以下几个关键步骤:需求分析、环境搭建、项目创建、UI设计、功能实现、测试、发布。1. 需求分析:在开始开发App前,需要对项目的需求进行分析。了解项目的目标用户、目的和功能需求,包括应用的交互方式、主题和感觉等。2. 环境
2023-04-28
©2015-2023 安卓益APP Anzhuoe.com 蜀ICP备17007734号-1