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


相关知识:
wp与安卓哪个好开发
WordPress(简称WP)和安卓都是非常流行的开发平台,各自具有自己的优势和应用场景。下面我会从原理和详细介绍方面来为大家分析和比较WP和安卓的优缺点。一、原理介绍1. WordPressWordPress是一款开源的,基于PHP和MySQL的内容管理
2023-05-23
vs开发安卓好不好
VS是Microsoft Visual Studio或者Microsoft Visual Studio Code的简称,它是微软公司针对软件开发者开发的一款功能强大的集成开发环境(IDE),支持多种主流的编程语言。其中包括Java、C#、VB等,当然,也支
2023-05-23
vs studio开发安卓
VS Studio可以用于安卓开发,主要是利用Xamarin插件来实现。Xamarin是一个跨平台的移动开发工具集,可用于创建Android、iOS和Windows应用程序。这个插件可以在Visual Studio中提供编写iOS和Android应用程序的
2023-05-23
linux驱动开发与安卓底层驱动开发
Linux驱动开发和安卓底层驱动开发是两个非常有意义和有挑战性的领域。本文将详细介绍这两个方面的基本知识和原理。一、Linux驱动开发Linux驱动开发是在Linux操作系统上编写的一种软件,可以管理和控制硬件设备。Linux驱动程序负责将操作系统和硬件设
2023-05-23
java怎么开发安卓
安卓开发基于Java语言和Android SDK(Software Development Kit)平台。使用Java开发安卓应用程序需要掌握Java编程语言的基础知识、安卓系统的开发概念和相关的开发工具,同时,需要知道如何使用Java和集成开发环境(ID
2023-05-23
app开发费用一览表安卓
App开发费用因开发的规模和需求而异,以下是以安卓App为例的开发费用一览表,仅供参考。1. 基本功能开发费用:5000~1万安卓App开发的基本功能包括界面设计、数据传输与存储、用户管理、基础动画、推送通知等。这些功能已经足够满足普通的商务或娱乐需求,如
2023-05-23
android安卓开发课件
Android是一个基于Linux的移动操作系统,它的应用程序基于Java语言编写,在智能手机、平板电脑、便携式媒体播放器、智能电视等移动设备上运行。一般而言,Android开发包含三个核心技术:Java编程语言、Android软件开发工具包和基于Ecli
2023-05-23
安卓手机如何开发一款app
安卓手机应用的开发包括以下几个主要步骤:1. 确定应用的目标和需求:在开始开发应用程序之前,必须确定应用程序的目的和目标,以及为什么会有用户需要这个程序。需要仔细考虑应用程序的功能、UI设计、目标用户和市场竞争等方面。2. 准备开发环境:应用程序开发需要准
2023-04-28
安卓app开发的前景与发展
安卓(Android)是目前全球智能手机操作系统市场中份额最大的操作系统,安卓App开发的前景非常广阔。未来,安卓App开发将会随着智能手机市场的不断增长而不断壮大。下面是关于安卓App开发的前景及发展介绍。1. 更丰富的应用场景随着科技发展的进步,目前移
2023-04-28
制作安卓app用什么软件
制作Android app有很多软件工具可供选择,下面列举几个常见的:1. Android Studio:官方推荐的安卓开发工具,支持Java和Kotlin编程语言,集成了调试、构建和打包功能,是开发安卓应用的首选。2. Unity:主要是用于制作游戏,但
2023-04-28
关于安卓app开发的一些经验
安卓app开发指的是使用安卓开发工具进行应用程序的设计、编写和测试的过程。安卓是谷歌开发的一种基于Linux内核的开源操作系统,主要应用于手机、平板电脑等智能设备。下面详细介绍一些关于安卓app开发的原理、经验和详细教程。一、安卓开发原理1. 安卓操作系统
2023-04-28
c语言可以开发安卓app
当然可以!尽管C语言并不是用于开发Android应用程序的首选语言(通常情况下,人们更愿意选择Java、Kotlin、以及Flutter),但C语言确实可以用于开发安卓应用。在本文中,我们将探讨使用C语言进行Android应用程序开发的原理和详细性介绍。原
2023-04-28
©2015-2023 安卓益APP Anzhuoe.com 蜀ICP备17007734号-1