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


相关知识:
安卓4g手机开发板
安卓手机是世界上最受欢迎的智能手机之一,其中4G技术已经成为标配。为了支持这一技术,手机制造商通常需要一个特定的开发板,来确保他们的手机能够支持4G网络。在本文中,我们将详细介绍安卓4G手机开发板的原理和功能。首先,让我们来了解一下什么是开发板。开发板是一
2023-05-23
安卓10软件自动更新开发
在安卓10中,软件自动更新是一个非常有用的功能。对于用户来说,不需要手动检查更新,也可以获得最新版本的功能和修复了漏洞的软件。对于开发者来说,软件自动更新可以帮助程序保持最新的状态,保护数据安全。Android 10中引入了一项重要的新功能 - 自动更新,
2023-05-23
python 安卓应用开发
Python是一种高级编程语言,既快速又易于学习。Python拥有丰富的第三方库和社区资源,在互联网开发、数据处理、机器学习和科学计算等领域得到广泛应用。此外,Python还可以用于移动应用程序开发,包括安卓应用开发。本文将介绍Python在安卓应用开发中
2023-05-23
net开发安卓
在.net开发中,可以使用Xamarin来开发跨平台的安卓应用。Xamarin是一个基于.net平台开发的移动应用开发框架,可以使用C#或F#语言来编写安卓应用程序。它可以使用共享代码库来开发iOS、安卓和Windows Mobile等不同平台的应用程序,
2023-05-23
开发安卓app的时候
开发安卓 App 需要掌握以下基础知识:1. Java 编程语言:安卓开发使用的是 Java 语言,因此需要熟练掌握 Java 语言。2. 安卓开发框架:安卓 SDK 提供了许多开发框架,如 Activity、Fragment、Intent 等,需要掌握这
2023-04-28
安卓手机打包app怎么使用
安卓手机打包app是指将开发的安卓应用程序(Android Application)封装成安装包(APK)进行发布或安装。这里介绍一种常见的打包方式。首先需要Android Studio,这是谷歌开发的安卓开发环境,可以在其官网下载最新版本。1. 创建一个
2023-04-28
安卓开发app需要前端开发吗
在安卓应用开发中,前端开发确实是一个非常重要的环节。首先,我们来了解一下什么是前端开发,以及它在安卓应用开发中的作用。前端开发,通常是指构建和设计用户交互界面的过程,即用户在手机应用上看到和与之交互的部分。安卓应用的前端开发主要包括页面布局设计、页面跳转、
2023-04-28
安卓app开发外文翻译
Android App Development: Principle and Detailed IntroductionAndroid app development involves the creation of applications that r
2023-04-28
安卓app开发四大组件
安卓APP开发的四大组件分别是Activity,Service,BroadcastReceiver和Content Provider。1. Activity:Activity是安卓应用程序的界面。它类似于使用者与应用程序之间的接口,负责用户与应用程序进行交
2023-04-28
xamarin开发的安卓app性能怎么样
Xamarin 是一个可以用来开发 Android、iOS 和 Windows 应用的跨平台框架。它使用 C# 和 .NET 运行时环境,提供了一个单一的语言和 API 来开发各个平台的应用。许多开发者都关心使用 Xamarin 开发的 Android 应
2023-04-28
vs开发的安卓app如何部署
部署安卓应用可以分为两个步骤:生成APK文件和将APK文件安装到目标设备中。生成APK文件- 使用Android Studio打开项目- 点击菜单栏中的Build -> Generate Signed Bundle / APK...- 在弹出的窗口中选择A
2023-04-28
chromeos开启开发者模式安卓app
Chrome OS是Google推出的运行在Chromebook上的操作系统,它基于Linux内核,支持轻量级的网页浏览和云应用,而且也支持使用Android应用程序。要在Chromebook上运行和安装Android应用程序,需要开启开发者模式。开发者模
2023-04-28
©2015-2023 安卓益APP Anzhuoe.com 蜀ICP备17007734号-1