Android开发显示头部Bar的需求解决方案--Android应用实战

简介: Android开发显示头部Bar的需求解决方案--Android应用实战

本文主要解决我们在Android开发中,希望app头部bar能够被自定义的问题,自定义样式、颜色、字体等等。我对颜色的自定义比较有要求,所以需要进行配置工作。

1、出现需求

显示如下图:

如上图,APP界面头部能够显示头部Bar,颜色也能自定义。

2、需求分析

显示头部Bar的需求主要包含以下几个方面:

  • 显示应用的名称和图标;
  • 可定制化头部Bar的样式和颜色;
  • 支持沉浸式状态栏。

3、解决方案

这个修改是在如下三个文件里进行修改:

  • colors.xml
  • themes.xml
  • themes.xml(night)

按顺序修改上面标号代码,即:

themes.xml(night):

<resources xmlns:tools="http://schemas.android.com/tools">
    <!-- Base application theme. -->
    <style name="Base.Theme.CropIrrigation" parent="Theme.MaterialComponents.Light.DarkActionBar">
        <!-- Customize your dark theme here. -->
         <item name="colorPrimary">@color/my_dark_primary</item>
    </style>
</resources>

themes.xml:

<resources xmlns:tools="http://schemas.android.com/tools">
    <!-- Base application theme. -->
    <style name="Base.Theme.CropIrrigation" parent="Theme.MaterialComponents.Light.DarkActionBar">
        <!-- Customize your light theme here. -->
        <!-- <item name="colorPrimary">@color/my_light_primary</item> -->
        <!-- Customize your light theme here. -->
        <item name="colorPrimary">@color/myBarColor</item>.
        <item name="titleTextColor">@color/myBarColor</item>
    </style>
    <style name="Theme.CropIrrigation" parent="Base.Theme.CropIrrigation" />
</resources>

colors.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="black">#FF000000</color>
    <color name="white">#FFFFFFFF</color>
    <color name="myBarColor">#673AB7</color>
    <color name="my_dark_primary">#673AB7</color>
    <color name="titleColor">#E3D9D9</color>
    <color name="colorPrimary">#03A9F4</color>
</resources>

在主题文件themes.xml:中,起作用的就是 Theme.MaterialComponents.Light.DarkActionBar,在属性文件colors.xml:中起作用的就是 <color name="colorPrimary">#03A9F4</color>,<color name="my_dark_primary">#673AB7</color>

目录
相关文章
|
4天前
|
缓存 搜索推荐 Android开发
安卓开发中的自定义控件实践
【10月更文挑战第4天】在安卓开发的海洋中,自定义控件是那片璀璨的星辰。它不仅让应用界面设计变得丰富多彩,还提升了用户体验。本文将带你探索自定义控件的核心概念、实现过程以及优化技巧,让你的应用在众多竞争者中脱颖而出。
|
4天前
|
Java Android开发 Swift
安卓与iOS开发对比:平台选择对项目成功的影响
【10月更文挑战第4天】在移动应用开发的世界中,选择合适的平台是至关重要的。本文将深入探讨安卓和iOS两大主流平台的开发环境、用户基础、市场份额和开发成本等方面的差异,并分析这些差异如何影响项目的最终成果。通过比较这两个平台的优势与挑战,开发者可以更好地决定哪个平台更适合他们的项目需求。
20 1
|
3天前
|
缓存 搜索推荐 Android开发
安卓开发中的自定义控件基础与进阶
【10月更文挑战第5天】在Android应用开发中,自定义控件是提升用户体验和界面个性化的重要手段。本文将通过浅显易懂的语言和实例,引导你了解自定义控件的基本概念、创建流程以及高级应用技巧,帮助你在开发过程中更好地掌握自定义控件的使用和优化。
17 10
|
3天前
|
Android开发 Swift iOS开发
探索安卓与iOS开发的差异:从代码到用户体验
【10月更文挑战第5天】在移动应用开发的广阔天地中,安卓和iOS两大平台各占半壁江山。它们在技术架构、开发环境及用户体验上有着根本的不同。本文通过比较这两种平台的开发过程,揭示背后的设计理念和技术选择如何影响最终产品。我们将深入探讨各自平台的代码示例,理解开发者面临的挑战,以及这些差异如何塑造用户的日常体验。
|
4天前
|
前端开发 搜索推荐 Android开发
安卓开发中的自定义控件实践
【10月更文挑战第4天】在安卓开发的世界里,自定义控件如同画家的画笔,能够绘制出独一无二的界面。通过掌握自定义控件的绘制技巧,开发者可以突破系统提供的界面元素限制,创造出既符合品牌形象又提供卓越用户体验的应用。本文将引导你了解自定义控件的核心概念,并通过一个简单的例子展示如何实现一个基本的自定义控件,让你的安卓应用在视觉和交互上与众不同。
|
10天前
|
XML 存储 Java
探索安卓开发之旅:从基础到进阶
【9月更文挑战第37天】安卓开发,一个充满无限可能的领域。它不仅关乎技术的深度与广度,更关乎开发者的成长与突破。本文将带你走进安卓开发的世界,从基础知识的学习到进阶技巧的掌握,一起感受编程的魅力与乐趣。
|
Web App开发 Java
Android-PullLayout:仿UC天气下拉和微信下拉眼睛头部淡入淡出
 Android-PullLayout:仿UC天气下拉和微信下拉眼睛头部淡入淡出 Android-PullLayout是github上的一个第三方开源项目,该项目主页是:https://github.
1359 0
|
20天前
|
IDE Android开发 iOS开发
探索Android与iOS开发的差异:平台选择对项目成功的影响
【9月更文挑战第27天】在移动应用开发的世界中,Android和iOS是两个主要的操作系统平台。每个系统都有其独特的开发环境、工具和用户群体。本文将深入探讨这两个平台的关键差异点,并分析这些差异如何影响应用的性能、用户体验和最终的市场表现。通过对比分析,我们将揭示选择正确的开发平台对于确保项目成功的重要作用。
|
7天前
|
Android开发
Android开发表情emoji功能开发
本文介绍了一种在Android应用中实现emoji表情功能的方法,通过将图片与表情字符对应,实现在`TextView`中的正常显示。示例代码展示了如何使用自定义适配器加载emoji表情,并在编辑框中输入或删除表情。项目包含完整的源码结构,可作为开发参考。视频演示和源码详情见文章内链接。
26 4
Android开发表情emoji功能开发
|
5天前
|
Web App开发 安全 程序员
FFmpeg开发笔记(五十五)寒冬里的安卓程序员可进阶修炼的几种姿势
多年的互联网寒冬在今年尤为凛冽,坚守安卓开发愈发不易。面对是否转行或学习新技术的迷茫,安卓程序员可从三个方向进阶:1)钻研谷歌新技术,如Kotlin、Flutter、Jetpack等;2)拓展新功能应用,掌握Socket、OpenGL、WebRTC等专业领域技能;3)结合其他行业,如汽车、游戏、安全等,拓宽职业道路。这三个方向各有学习难度和保饭碗指数,助你在安卓开发领域持续成长。
20 1
FFmpeg开发笔记(五十五)寒冬里的安卓程序员可进阶修炼的几种姿势