11-2.Android 项目结构 - themes.xml 文件基础解读

ops/2025/1/18 2:23:48/
xmlns="http://www.w3.org/2000/svg" style="display: none;">

xml__0">themes.xml 文件基础解读

  • themes.xml 用于定义一个 Android 应用程序的主题
xml"><resources xmlns:tools="http://schemas.android.com/tools"><!-- Base application theme. --><style name="Theme.MyTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar"><!-- Primary brand color. --><item name="colorPrimary">@color/purple_500</item><item name="colorPrimaryVariant">@color/purple_700</item><item name="colorOnPrimary">@color/white</item><!-- Secondary brand color. --><item name="colorSecondary">@color/teal_200</item><item name="colorSecondaryVariant">@color/teal_700</item><item name="colorOnSecondary">@color/black</item><!-- Status bar color. --><item name="android:statusBarColor">?attr/colorPrimaryVariant</item><!-- Customize your theme here. --></style>
</resources>
1、主题继承
xml"><!-- Base application theme. -->
<style name="Theme.MyTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar">...
</style>
  1. 定义了一个名为 Theme.MyTheme 的自定义主题,它继承自 Theme.MaterialComponents.DayNight.DarkActionBar

  2. parent="Theme.MaterialComponents.DayNight.DarkActionBar" 表示 Theme.MyTheme 是基于 Theme.MaterialComponents.DayNight.DarkActionBar 构建的

  3. Theme.MaterialComponents.DayNight.DarkActionBar 是一个预定义的主题,提供了 Material Design 的样式,同时支持日间和夜间模式,并具有一个深色的 ActionBar

  • Material Design 可以理解为一种设计风格,ActionBar 是 应用中的顶部导航栏
2、主要品牌颜色
xml"><!-- Primary brand color. -->
<item name="colorPrimary">@color/purple_500</item>
<item name="colorPrimaryVariant">@color/purple_700</item>
<item name="colorOnPrimary">@color/white</item>
  1. colorPrimary 是主要品牌颜色,这个颜色通常用于工具栏、应用栏、按钮等元素的背景

  2. colorPrimaryVariant 是主要品牌颜色的变体,这个颜色通常用于需要稍微深一点或不同色调的主要颜色场景,例如,状态栏、某些按钮的按下状态等

  3. colorOnPrimary 是在主要颜色背景下的文本或图标颜色,它需要确保在深色背景上有足够的对比度

3、次要品牌颜色
xml"><!-- Secondary brand color. -->
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_700</item>
<item name="colorOnSecondary">@color/black</item>
  1. colorSecondary 是次要品牌颜色,这个颜色通常用于工具栏、应用栏、按钮等元素的背景

  2. colorSecondaryVariant 是次要品牌颜色的变体,这个颜色通常用于需要稍微深一点或不同色调的主要颜色场景,例如,状态栏、某些按钮的按下状态等

  3. colorOnSecondary 是在次要颜色背景下的文本或图标颜色,它需要确保在深色背景上有足够的对比度

4、状态栏颜色
xml"><!-- Status bar color. -->
<item name="android:statusBarColor">?attr/colorPrimaryVariant</item>
  • android:statusBarColor 是状态栏的颜色,这里使用了 ?attr/colorPrimaryVariant,即主要品牌颜色的变体
5、自定义
<!-- Customize your theme here. -->
  • 开发者可以进一步自定义主题

http://www.ppmy.cn/ops/150976.html

相关文章

大模型UI:Gradio全解11——Chatbot:融合大模型的聊天机器人(4)

大模型UI&#xff1a;Gradio全解11——Chatbot&#xff1a;融合大模型的聊天机器人&#xff08;4&#xff09; 前言本篇摘要11. Chatbot&#xff1a;融合大模型的多模态聊天机器人11.4 使用Blocks创建自定义聊天机器人11.4.1 简单聊天机器人演示11.4.2 流式传输Chatbot11.4.3 添…

基于 Python 和 Django 的课程管理系统设计与实现

标题:基于 Python 和 Django 的课程管理系统设计与实现 内容:1.摘要 摘要&#xff1a;本文介绍了基于 Python 和 Django 的课程管理系统的设计与实现。文章首先阐述了课程管理系统的背景和意义&#xff0c;接着详细描述了系统的设计与实现过程&#xff0c;包括系统架构、功能模…

8Hive SQL底层执行原理

8Hive SQL底层执行原理 1Hive 底层执行架构2Hive SQL 编译成 MapReduce 过程阶段一&#xff1a;词法、语法解析阶段二&#xff1a;语义解析阶段三&#xff1a;生成逻辑执行计划阶段四&#xff1a;优化逻辑执行计划阶段五&#xff1a;生成物理执行计划阶段六&#xff1a;优化物理…

字符串dp系列

647. 回文子串 给定一个字符串&#xff0c;你的任务是计算这个字符串中有多少个回文子串。 具有不同开始位置或结束位置的子串&#xff0c;即使是由相同的字符组成&#xff0c;也会被计为是不同的子串。 示例 1: 输入: "abc" 输出: 3 解释: 三个回文子串: "a&qu…

Web 学习笔记 - 网络安全

前言 作为 前端开发者&#xff0c;了解一点 Web 安全方面的基本知识是有很必要的&#xff0c;未必就要深入理解。本文主要介绍常见的网络攻击类型&#xff0c;不作深入探讨。 正文 网络攻击的形式种类繁多&#xff0c;从简单的网站敏感文件扫描、弱口令暴力破解&#xff0c;…

IDEA测试报错java.lang.NullPointerException空指针异常解决办法

已知我运行的是测试函数&#xff0c;但是会报错java.lang.NullPointerException空指针异常 这是由于测试使用的包不匹配。 在pom.xml中查看spring boot版本 在SpringBoot 2.2的版本之前 Junit4&#xff1a;org.junit.Test SpringBoot 2.2之后使用的是 Junit5&#xff1a;org.…

2025.1.15——三、报错注入

题目来源&#xff1a;ctfhub技能树 目录 一、基本操作&#xff1a;整理已知信息&#xff0c;本题为报错注入&#xff0c;需进一步确认回显方式 二、用updatexml()解题步骤 step 1&#xff1a;依据回显方式判断题目类型 step 2&#xff1a;查看字段名 step 3&#xff1a;确…

【机器学习】主动学习-增加标签的操作方法-成员查询合成(Membership Query Synthesis, MQS)

成员查询合成&#xff08;Membership Query Synthesis, MQS&#xff09;是一个主要应用于机器学习、计算学习理论和自然语言处理&#xff08;NLP&#xff09;等领域的概念。它描述了一种框架或技术&#xff0c;其中学习系统&#xff08;如算法&#xff09;可以主动生成查询&…