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


相关知识:
安卓 操作系统 开发
安卓操作系统是一款广泛运用在移动设备上的操作系统,由Google公司开发。安卓在开发上采用了Linux内核,应用高度模块化的思想,使得安卓操作系统可以在多种不同的硬件平台上运行。安卓的底层架构设计灵活而高效,支持多任务和多进程,可以同时运行多个应用程序,达
2023-05-23
java开发安卓计算器
Java是一种流行的编程语言,用于开发各种各样的软件应用程序,包括移动应用程序。在本文中,我们将介绍如何使用Java开发一个简单的安卓计算器应用程序。首先,我们需要了解安卓应用程序的基本结构。一个典型的安卓应用程序由一个或多个活动(activity)组成,
2023-05-23
bmob安卓开发
Bmob是国内主流的移动应用开发后端云,为开发者提供了快速、简单、稳定、低成本的后端服务支持。这篇文章将对Bmob的原理和详细介绍进行阐述。一、Bmob的原理Bmob的底层是基于Bmob RESTFul API构建的,原则上支持Http/Https协议。B
2023-05-23
西安制作安卓app
制作安卓App的原理包含以下几个关键步骤:1. 设计应用程序界面:首先需要设计应用程序的界面,包括布局、颜色、字体、图标等。2. 编写代码:基于应用程序的功能需求,使用Java或Kotlin等编程语言编写代码来实现应用。3. 调试测试:在代码实现后,需要对
2023-04-28
开发一款安卓app需要会哪些
开发一款安卓App需要以下几个方面的知识:1. Java编程语言:Java是安卓App的主要开发语言,因此要熟悉Java语言的基础知识,包括数据类型、循环结构、数组、函数等,才能进行有效的安卓开发。2. Android SDK: Android SDK 是
2023-04-28
开发app安卓每年要收费吗
开发Android应用并不需要每年支付费用。谷歌允许开发者免费使用Android开发工具,如Android Studio、SDK等。然而,如果你希望将你的应用发布到谷歌Play商店,你需要支付一次性25美元(约158元人民币)的开发者注册费用。一旦你支付了
2023-04-28
实现安卓app制作的步骤
安卓app的制作大致可以分为以下步骤:1.确定开发工具和技术要开发安卓app,你需要选择合适的开发工具和技术。目前最流行的开发工具包括Android Studio、Eclipse和IntelliJ IDEA等。至于技术,你需要掌握Java语言、XML和安卓
2023-04-28
安卓iso苹果app开发制作
安卓和iOS是目前智能手机市场上占有主导地位的操作系统。而针对这两个操作系统的应用程序开发,主要涉及到两种编程语言:Java和Kotlin(安卓)以及Objective-C和Swift(iOS)。下面将详细介绍如何开发安卓和iOS应用程序。安卓应用程序开发
2023-04-28
安卓app开发的毕业设计
安卓(Android)是目前应用最为广泛的移动操作系统之一,其应用程序的开发也备受关注。在毕业设计中进行安卓App开发,可以展示学生的编程能力和研发水平,同时也能够满足社会市场的需要。以下是一些关于安卓App开发的毕业设计的原则和详细介绍:1. 确定项目题
2023-04-28
安卓app开发用什么语言和框架
安卓App的开发可以使用Java或Kotlin等面向对象编程语言,这些语言都可以通过Android Studio等集成开发环境来进行开发。另外,安卓App开发也需要掌握掌握Android开发框架,目前比较流行的框架有:1. Android SDK:包括An
2023-04-28
吉首安卓app开发多少钱
吉首安卓app开发的价格取决于多个因素,包括以下几点:1. 开发者经验与技能水平。开发者的经验和技能水平对开发费用有很大的影响。能够设计和开发高质量、稳定的应用程序需要一定的经验和技术知识,因此开发者的专业背景、能力和经验对开发费用有很大的影响。2. 应用
2023-04-28
制作一个手机安卓app需要什么软件
标题:制作一个手机安卓App需要什么软件——原理与详细介绍摘要:从构想到实现,制作一个安卓App需要掌握开发语言与开发环境,本文将为你详细介绍制作一个安卓App需要的软件、原理及基本流程,帮助你顺利起步。正文:制作一个手机安卓App需要具备一定的编程知识与
2023-04-28
©2015-2023 安卓益APP Anzhuoe.com 蜀ICP备17007734号-1