安卓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 库的支持,在应用程序中也能方便地实现夜间模式。


相关知识:
安卓12如何开启开发者选项
安卓系统的开发者选项是一个隐藏的高级设置菜单,包含着一系列高级功能和选项,可以帮助开发者进行调试、分析、测试以及优化应用程序或系统。在安卓12中开启开发者选项并不难,下面我们来详细介绍一下。打开设置菜单首先需要进入手机的设置菜单。在安卓12中,可以通过下拉
2023-05-23
安卓10怎样入开发者模式
在Android 10中,开发者模式已经被隐藏起来,因此需要进行一些特殊操作才能打开它。开发者模式会为开发人员提供很多实用的调试功能和选项,例如为开发和调试应用程序提供更多的权限,以及监视应用程序的运行状况等等。下面是在安卓10中如何入开发者模式的详细介绍
2023-05-23
xamarin开发安卓教程
Xamarin 是一个跨平台开发的工具,开发人员可以使用 C# 成为一名 Android、 iOS 或 Windows Phone 开发者。 Xamarin可以帮助开发者使用单一的代码库来创建 Android、iOS 和 Windows Phone 应用程
2023-05-23
vs code开发安卓
VS Code是一款广泛使用的轻量级代码编辑器。虽然它并不是一款专门用来开发Android的应用程序的IDE(集成开发环境),但可以很好地集成Android的SDK(软件开发工具包)来开发Android应用程序。下面是使用VS Code开发Android应
2023-05-23
pyqt支持安卓开发么
PyQt是一款流行的Python GUI框架,它支持Windows、MacOS和Linux等不同操作系统的图形用户界面开发。但是,据我所知,PyQt支持在Android设备上开发应用程序,下面是原因和详细介绍。首先需要明确的一点是,Android并不是一个
2023-05-23
idg安卓开发者大会
IDG安卓开发者大会(IDG Android Developer Conference)是由国际数据集团(IDG)主办的一项旨在推动中国Android生态系统发展的会议。该会议自2013年起每年举行一次,已成功举办七届。会议集合了全球著名的大型科技公司、开
2023-05-23
android开发安卓教程
Android系统是一个以Linux为内核,基于Java语言的开源操作系统。Android开发就是开发适用于Android系统的应用程序。在本文中,我们将详细介绍Android开发的原理和流程。一、Android系统架构Android系统架构主要分为四层:
2023-05-23
锦州安卓app开发价格
锦州安卓APP开发的价格因公司、开发者、项目规模等因素而异,一般来说,价格在数千到数十万不等。如果您想要了解锦州安卓APP开发的原理和流程,可以简单概括为以下几个步骤:1. 需求分析:了解客户需求,明确功能和设计要求。2. 原型设计:根据需求,绘制APP的
2023-04-28
安卓app开发需要什么语言基础
安卓应用开发是一种创建可在安卓平台运行的应用程序的过程。安卓操作系统是谷歌开发的,主要运行在智能手机和平板设备上。当你制作一个安卓应用时,你需要了解一些编程语言,开发工具和相关技术。本文将为你介绍在安卓app开发过程中需要了解的语言基础和相关技术。1. J
2023-04-28
安卓app开发规范标准是什么
当我们谈论安卓应用开发规范和标准时,主要是指一系列最佳实践、原则和指导方针,以便创建高性能、稳定且易于维护的应用程序。以下是一些流行的安卓开发规范和指导原则:1. 遵循 Material Design 指南Material Design 是由谷歌推出的手机
2023-04-28
安卓app开发的主要语言
安卓App开发的主要语言包括Java和Kotlin,其中Java是安卓开发的主流语言。Java是一种广泛使用的面向对象编程语言,它具有优秀的跨平台特性和丰富的类库,这使得Java成为安卓开发的首选语言。在Java语言中,安卓开发者可以使用Android S
2023-04-28
厦门安卓app开发需要多少钱
一款Android应用程序(APP)的开发成本可能因许多因素不同而相差甚大。在这篇文章中,我们将从项目规模、功能、技术、设计、测试及维护等方面重新审阅这个问题。以下是最常见的几个考虑因素及其解释。一、项目规模按项目规模,我们可以大致将App开发划分为小型项
2023-04-28
©2015-2023 安卓益APP Anzhuoe.com 蜀ICP备17007734号-1