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


相关知识:
安卓9开发者怎么设置root
在 Android 系统中,Root是指获取最高权限(即超级用户权限)的过程。对于一些高级开发人员或熟练使用 Android 设备的用户来说,Root 可以为他们提供更多的自定义设置和操作方式。那么,对于 Android 9 开发者来说,如何进行 Root
2023-05-23
安卓6开发者选项优化怎么关闭
开发者选项是安卓操作系统中一个非常重要的功能,它可以让开发者在正式发布之前测试和调试应用程序,以确保应用程序的正常运行。开发者选项常用的优化方法包括关闭窗口转换动画、关闭屏幕保护和关闭其他系统资源等。但是,一旦开发者选项被打开,它会大量消耗手机的资源,因此
2023-05-23
ubuntu安卓开发环境
作为一名开发人员,我们可能会同时需要使用Ubuntu和Android环境。Ubuntu是一种基于Linux的操作系统,而Android则是一款基于Linux内核的移动操作系统。在Ubuntu环境下搭建Android开发环境,可以方便我们进行Android应
2023-05-23
miui可以从稳定版卡刷到开发版吗安卓
MIUI是小米手机的自家操作系统,也是目前国内比较流行的手机操作系统之一。而在MIUI的开发过程中,一般会推出两个版本,即“稳定版”和“开发版”。其中“稳定版”是相对稳定的版本,基本没有太多重大的问题,而“开发版”的更新频率更高,但同时也伴随着更多的问题。
2023-05-23
java开发安卓版
Java是一种非常流行的编程语言,而安卓开发就是使用Java编程来开发安卓应用程序。在这篇文章中,我将详细介绍Java开发安卓版的原理和过程。安卓开发使用的是Java编程语言。Java语言是一种高级编程语言,开发者可以在不同的平台上使用它。Java语言可以
2023-05-23
开发安卓直播app
开发一个安卓的直播应用涉及到很多知识面,包括直播原理、视频和音频的采集与处理、直播协议、服务器架构、安卓开发等。在本教程中,我将简单介绍直播原理及安卓开发相关的内容,为你提供一个初步的了解。以下内容分为几个模块:1. 直播原理直播(Live Streami
2023-04-28
开发安卓app收费标准是多少
开发安卓APP的收费标准是非常多样化的,因为这涉及到开发团队的规模、经验、所在地域、开发周期、功能模块、设计风格等多种因素。以下是一些常见的收费模式和标准:1. 固定费用模式:根据APP的开发难度、功能模块和设计要求等要素,制定一份固定的开发费用,通常是前
2023-04-28
安卓app开发答辩
安卓应用程序开发是一种使用Android操作系统和Java或Kotlin编程语言来创建运行在安卓设备上的移动应用程序的过程。以下内容包含了关于安卓app开发的原理与详细介绍,例如:开发环境、开发框架、基本组件以及应用发布等。1. 开发环境 安卓开发需要
2023-04-28
安卓app开发的过程
安卓App开发包括以下几个过程:1. 环境搭建安卓应用程序开发需要安装Java Development Kit (JDK) 和安卓SDK。JDK是Java开发环境,而SDK包含Android Studio 和一个模拟器,以便在计算机上测试应用程序。为了开始
2023-04-28
安卓app开发兼职
安卓app开发兼职是指有关专业技能的程序员或者设计师,在自己的工作之余,为第三方客户或公司提供安卓应用软件的开发服务。这种服务形式允许开发者灵活运用时间,充分发挥其技能,为客户提供满意的项目解决方案。以下是安卓app开发兼职的相关原理和详细介绍:1. 安卓
2023-04-28
厦门安卓app开发服务商
厦门安卓app开发服务商的原理和详细介绍厦门,作为中国东南沿海的一座美丽的城市,近年来在科技产业方面发展迅速。特别是在移动应用开发领域,许多安卓app开发服务商如雨后春笋般出现,为企业和个人提供定制化的解决方案。在本文中,我们将介绍厦门安卓app开发服务商
2023-04-28
app怎么制作 安卓
制作安卓应用的步骤分为以下几个:1.了解安卓应用开发环境安卓应用开发是基于 Java 编程语言的,因此需要安装 Java JDK 和 Eclipse IDE 编程软件。在安装 Eclipse 后,需要安装 Android SDK 插件并设置 SDK 路径。
2023-04-28
©2015-2023 安卓益APP Anzhuoe.com 蜀ICP备17007734号-1