安卓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开发模式如何设置
安卓9的开发模式在开发过程中非常重要,可以帮助开发者更好地管理和调试应用程序。本文将介绍安卓9的开发模式的设定方法。安卓9的开发模式是安卓开发者选项中可设置的一个功能。该功能是安卓系统自带,通过该功能,开发者可以在应用程序中获取更详细的信息,例如应用程序的
2023-05-23
安卓 软件 开发
安卓软件开发是指使用Java编程语言,使用Android SDK开发软件来运行在安卓手机或平板电脑上。这样的软件可以在Google Play等应用商店上发行。下面将详细介绍安卓开发的原理及流程。一、准备工作在进行安卓软件开发前,需要安装Java JDK,A
2023-05-23
win7 安卓开发环境
Win7上安装Android开发环境需要安装Java、Android SDK和Eclipse三个软件,下面我将详细介绍安装流程及注意事项。1. 下载并安装JDKJDK是Java SE(标准版)开发工具包的缩写。在使用Java编程语言需要先安装JDK。JDK
2023-05-23
mac开发安卓的硬件配置要求
Mac电脑的硬件配置对于开发安卓应用程序至关重要,因为安卓应用程序需要使用强大的处理器、大容量的内存、优秀的显卡和高清晰度的显示器等硬件资源。下面,我们将详细介绍Mac电脑开发安卓应用程序的硬件配置要求。1、处理器首先,处理器对于开发安卓应用程序非常关键,
2023-05-23
idea可以安卓开发吗
Idea 是一款流行的 Java 集成开发环境,主要用于开发 Java 项目,并且支持使用多种插件和扩展来支持其他语言和框架。除此之外,Idea 还提供了一个名为 Android Studio 的 Android 开发环境,针对 Android 应用程序的
2023-05-23
delphi2010可以开发安卓程序吗
Delphi 2010 是一款由 Embarcadero 公司推出的 Windows 操作系统上非常流行的视觉化编程工具,在该软件中应用 Pascal 编程语言,Delphi语言实现了面向对象编程,以及窗体应用程序设计开发等功能。它是专业且强大的开发工具,
2023-05-23
靠谱的安卓app开发
安卓App开发是创建安卓应用程序的过程,主要是通过使用Java语言和安卓软件开发工具包(SDK)来实现。安卓应用程序可以在安卓设备上运行,如移动电话、平板电脑以及其他智能设备。下面是一些靠谱的安卓App开发方法:1. 学习Java编程语言:Java是安卓应
2023-04-28
简单安卓app开发
安卓应用程序是基于Java语言编写的,并运行在Android操作系统上。简单的安卓app开发需要掌握安卓应用程序中的一些基本概念和技术,包括:1. Java语言: Java是安卓应用程序的主要编程语言,因此需要熟悉Java编程的基本知识和语法。Java是一
2023-04-28
安卓开发小程序简单还是app
安卓小程序和App的概念不同,小程序是在特定平台上运行的轻量级应用程序,而App是在移动设备上运行的应用程序,通常需要下载安装到手机上。安卓小程序与App开发的主要差异在于技术实现层面。使用App开发需要掌握Java或Kotlin等主要编程语言,掌握移动开
2023-04-28
安卓app通过什么工具开发
安卓 App 的开发主要使用 Java 编程语言,并使用 Android Studio 这个官方提供的 IDE(Integrated Development Environment,集成开发环境)来实现。以下是安卓 App 开发的基本流程:1. 确定开发环
2023-04-28
安卓app 开发浏览器推荐
安卓APP开发浏览器推荐:一站式教程和浏览器工具推荐安卓应用开发已经成为互联网行业的一个热门领域。浏览器对于开发者来说是一个重要的工具,帮助他们测试开发中的应用程序、查找代码示例和解决问题的参考资料。本文将推荐一些适合安卓APP开发者使用的浏览器和相关资源
2023-04-28
ios和安卓app需要什么电脑开发
开发 iOS 和 Android 应用程序需要不同类型的电脑和软件工具,并且两个平台之间的开发过程也有所不同。下面是有关开发 iOS 和 Android 应用程序所需电脑和软件工具的详细介绍。1. 开发 iOS 应用程序的电脑和软件如果您想要开发 iOS
2023-04-28
©2015-2023 安卓益APP Anzhuoe.com 蜀ICP备17007734号-1