首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

安卓:背景不能在主题Theme.MaterialComponents.DayNight.DarkActionBar的按钮上工作

基础概念

Theme.MaterialComponents.DayNight.DarkActionBar 是 Android 中的一个主题,它基于 Material Design 组件库(Material Components for Android)。这个主题支持日夜模式切换,并且在暗色模式下使用深色工具栏(ActionBar)。

问题描述

Theme.MaterialComponents.DayNight.DarkActionBar 主题下,按钮的背景颜色可能不会按预期显示。

原因

  1. 主题覆盖:某些样式或主题属性可能会覆盖按钮的背景颜色。
  2. 样式冲突:自定义样式可能与主题中的样式冲突。
  3. 属性设置错误:可能在布局文件或代码中设置了错误的属性。

解决方法

1. 检查布局文件

确保在布局文件中正确设置了按钮的背景颜色。例如:

代码语言:txt
复制
<Button
    android:id="@+id/myButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Click Me"
    android:backgroundTint="@color/button_background_color"
    style="?attr/borderlessButtonStyle" />

在这个例子中,android:backgroundTint 属性用于设置按钮的背景颜色。

2. 自定义样式

如果需要更复杂的样式,可以创建一个自定义样式并应用到按钮上。例如:

代码语言:txt
复制
<!-- res/values/styles.xml -->
<style name="CustomButtonStyle" parent="Widget.MaterialComponents.Button">
    <item name="android:backgroundTint">@color/button_background_color</item>
    <item name="backgroundTint">@color/button_background_color</item>
</style>

然后在布局文件中应用这个样式:

代码语言:txt
复制
<Button
    android:id="@+id/myButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Click Me"
    style="@style/CustomButtonStyle" />

3. 检查主题属性

确保在 styles.xml 中定义的主题没有覆盖按钮的背景颜色。例如:

代码语言:txt
复制
<!-- res/values/styles.xml -->
<style name="AppTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
    <!-- 其他属性 -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <!-- 确保没有覆盖按钮背景颜色的属性 -->
</style>

4. 使用 Material Components 库

确保项目中已经添加了 Material Components 库的依赖。例如,在 build.gradle 文件中:

代码语言:txt
复制
dependencies {
    implementation 'com.google.android.material:material:1.4.0'
}

参考链接

通过以上步骤,你应该能够解决在 Theme.MaterialComponents.DayNight.DarkActionBar 主题下按钮背景颜色不工作的问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【Android 性能优化】应用启动优化 ( 阶段总结 | Trace 文件分析及解决方案 | 源码分析梳理 | 设置主题的方案总结 ) ★

启动白屏的解决方案 : 设置图片背景 , 或透明背景 , 这是个权宜之计 , 并不能根本性解决启动慢的问题 , 只是让用户体验效果好一些 ; 【Android 性能优化】应用启动优化 ( 主题背景图片设置...| 设置透明主题背景 | 设置应用启动主题背景、启动后恢复主题 ) 3 ....; 【Android 性能优化】应用启动优化 ( 安卓应用启动分析 | Launcher 应用启用普通安卓应用 | 应用进程分析 ) 博客中讲解了用户点击图标之后的操作 , 通过进程间通信 , 通知...( 复用旧进程 ) ; 应用启动截止到此处 , 全部是系统完成的工作 , 开发者无法干预该过程 ; 【Android 性能优化】应用启动优化 ( 安卓应用启动分析 | ActivityThread 主函数分析...| 设置应用启动主题背景、启动后恢复主题 ) 该博客中只是提供了一个权益之计 , 建议设置透明背景 , 所有的应用都设置一下 , 防止出现白屏 , 造成的用户体验不好 , 但是不建议只使用这种方案 ,

88010

惊喜,热心网友为Nodes小程序写的超详细使用指南

点击 X 按钮即可退出Nodes小程序; 若想返回上一级界面,安卓用户可以使用手机底部的虚拟“返回键”(此按键一般是在最右边);iPhone用户可以直接点击 X 按钮左侧的 < 按钮。 4....如果你是安卓用户, 点击右上角的“更多”按钮, 选择发送给朋友以将图片发送给微信好友; 如果你是iPhone用户,长按图片文件,在出现的菜单中点击 发送给朋友以将图片转发给微信好友。 ---- 6....如果你是安卓用户, 请点击右上角的“更多”按钮,然后选择 保存图片 。 如果你是iPhone用户, 请长按图片后选择保存图片 。 你可以进入手机相册查看这张思维导图。...如果你是安卓用户,请点击右上角的“更多”按钮,然后选择发送给朋友 。...3.为什么在我的iPad上找不到小程序入口? 微信小程序目前只能在安卓平台和iPhone上使用。iPad上暂不支持微信小程序。 4.

2.1K60
  • 薇信透明主题来啦!看腻了灰白的界面

    看腻了wx的主题,是不是有点想体验下不一样的主题,把wx设置全透明的背景,看着挺有格调的。 有朋友也问过怎么设置,找遍了wx所有的功能都没发现怎么设置,这个需要用到第三方的软件才能实现。...-图文说明- 所需工具:全局透明壁纸 适用系统:安卓 这是一款全新的壁纸软件,可以设置全局透明壁纸。 ? 简单说就是能在那个界面都可以看到自已喜欢的壁纸,不但照片能设置,视频同样也支持。 ?...安装好之后点击想要设置的壁纸类型。 我们先设置一个全局透明壁纸为例吧。 点击壁纸进入下一步后, 我们可以设置壁纸的透明度以及它的声音大小。 ? 看到那在微信/QQ上显示的按钮吗?...其实度很简单,琢磨下一下就能懂了,设置全景壁纸还是挺不错的,大佬们可以试试呦。 就先分享这些吧,饿了,吃饭去了

    62330

    AutoJs6 – v6.2.0 – 安卓 JavaScript 自动化工具 (Auto.js 二次开发)

    JavaScript 多语言方案) (参阅 项目文档 > 国际化) 修复 软件语言切换后可能导致的页面文字闪变及部分页面按钮功能异常 修复 工作路径为一个项目时软件启动后不显示项目工具栏的问题 修复...issue #29 修复 高版本安卓系统点击快速设置面板中相关图标后面板可能无法自动收起的问题 (试修) issue #7 修复 高版本安卓系统可能出现部分页面与通知栏区域重叠的问题 修复 安卓 10...修复 夜间模式开启后已设置的主题色可能无法生效的问题 修复 夜间模式下部分设置选项文字与背景色相同而无法辨识的问题 修复 关于页面功能按钮文本长度过大导致文本显示不完全的问题 修复 主页抽屉设置项标题长度过大导致文本与按钮重叠的问题...修复 使用悬浮窗菜单关闭悬浮窗后重启应用时悬浮窗依然开启的问题 修复 布局层次分析时长按列表项可能导致弹出菜单溢出下方屏幕的问题 修复 安卓 7.x 系统在夜间模式关闭时导航栏按钮难以辨识的问题...优化 提升悬浮窗点击响应速度 优化 点击悬浮窗布局分析按钮直接进行布局范围分析 优化 布局分析主题自适应 (悬浮窗跟随应用主题, 快速设置面板跟随系统主题) 优化 布局控件信息列表按可能的使用频率重新排序

    4.8K20

    2023开放原子全球开源峰会参会感受:英特尔开源技术合作与产品创新

    以下是刘秉伟先生演讲的主题和要点的概括: 主题:Celadon加速安卓在英特尔架构上的产品创新 要点: Celadon项目的背景和目标:Celadon是一个开源项目,旨在推动安卓应用在英特尔架构上的发展和应用...Celadon 加速安卓在英特尔架构上的产品创新 内容概述: 该议题介绍了Celadon项目在加速安卓在英特尔架构上的产品创新方面的工作。...Celadon是一个开源项目,旨在优化安卓操作系统在英特尔架构上的性能和功能。通过与安卓生态系统的整合,Celadon项目致力于提升安卓应用在英特尔架构上的运行效率和体验。...该议题涉及到Celadon项目的背景和目标,介绍在英特尔架构上优化安卓应用性能的创新方法和技术,以及与安卓生态系统的兼容性和协作工作。...参会感受: 参会者对于Celadon项目在加速安卓在英特尔架构上的产品创新方面的工作表示关注和兴趣。

    11910

    电脑技巧| 使用电脑的经验分享

    (IPv4 & IPv6, IPv6) 华北地区: 清华大学(IPv4 & 安卓按钮的监听事件的两种方式 电脑技巧 3天前 浏览: 17 评论: 0 参看博文:BY战机——基于安卓事件处理的飞机射击游戏...安卓中为按钮绑定监听器的方式有两种:①布局文件中声明②代码中新建监听器并绑定; 在实现"BY战机"中,我采用了第二种,即在 BY战机安卓源代码——基于安卓事件处理的飞机射击游戏 电脑技巧 3天前...浏览: 26 评论: 0 一、应用截图 二、代码实现 ①按钮事件实现 参看《安卓响应按钮事件》 ②安卓响应触摸屏事件 参看《安卓响应触摸屏事件》 代码下载 Android开发解析JSON...百度上查了查,说是冲突了,额……我真没找到和哪个冲突了,只好卸了重装,但结果还是一样,我想肯定是哪儿块写错了吧?...如果没有特殊说明,下面的代码请放在主题文件夹(…/wp-content/themes/你的主题/)的模板函数functions.php文件里,修改方法:将下面代码复制粘 电脑开机自检声音对应的故障分析

    2.6K20

    2018年的安卓开发环境搭建

    https://blog.csdn.net/u011054333/article/details/84676949 记得超早以前我就弄过一次Eclipse上的ADT安卓开发环境搭建...首先是主题设置,我当然是选择深色主题了。 然后是下载/更新SDK,按照需求选择即可,由于我是AMD处理器,无法使用英特尔加速,所以没选那个。...设置代理 这一步基本上很难绕过去,因为现在的安卓程序使用gradle构建,而且默认使用的方式是gradle wrapper,wrapper方式的优点是无需本机事先安装gradle,因为实际上wrapper...然后选择项目的安卓SDK版本,默认推荐的只安装了安卓P的SDK,如果你选择了其他的版本,还需要额外下载SDK。其实这里也可以看到安卓的碎片化实在是太严重了。...如果你是英特尔CPU,而且前面安装了自带的预配置好的优化版x86安卓模拟器,现在可以直接点击Tool -> AVD Manager,打开虚拟机管理器,然后直接点击绿色运行按钮来启动。

    1.7K20

    安卓第三夜 概念漫游(上)

    欢迎来到安卓应用的世界。 每一个应用都是存储在手机中的一段小程序。编写这段小程序,是每个安卓开发者的主要工作。程序运行后成为一个进程后,在进程的内存空间中新建一个Dalvik虚拟机。...Activity包含一些特别的视觉元素,比如一个竖直列表、一个彩色的背景或者一个小小的按钮。 Activity呈现各种信息,比如图片、文字、输入栏等等。...安卓程序员在该方法中,设计Activity在目标状态的效果:实现特定的页面布局,为按钮注册回调函数,访问互联网获取信息等。再比如,Activity从暂停到恢复的状态,会执行onRestart()方法。...必须的时候,安卓应用可以启动一个Service。Service在背景运行,来负责上述的需要长时间运行的工作。Service对象本身在主线程内工作。...在设计Service时,安卓程序员一般会为Service内大计算量的部分开启新线程,以便不影响主线程的运行。当我们刷微博时,背景Service中访问互联网,以获得新的微博,并更新到微博列表页面。

    1.1K80

    Android 1.5到10.0 都有哪些新特性?

    指纹识别 说到指纹识别,很多用户都会觉得现在的中高端安卓手机都支持,但事实上这些安卓手机的指纹识别都是各个厂商自行开发的并没有系统底层的支持。...通知消息快捷回复 安卓7.0加入了全新的API,支持第三方应用通知的快捷操作和回复,例如来电会以横幅方式在屏幕顶部出现,提供接听/挂断两个按钮;信息/社交类应用通知,还可以直接打开键盘,在输入栏里进行快捷回复...7.TensorFlowLite 这个新功能并不会直接体现在手机和系统中,它是谷歌的一项新技术,用来把人工智能在更多的软件上继续拓展,并提高工作处理的效率,让你的手机更“聪明”。...8.分屏 在AndroidO中,分屏画中画功能得到了强化,变得更加流畅,而且悬浮窗可以随意拖动位置,然后在主屏幕中继续工作 NotificationDots 在谷歌的Pixel手机上,安卓8...此外长按某个应用图标现在可以显示一些信息,与iOS上的3D Touch类似,这项功能在安卓7.0上已经有所体现 10.SmartTextSelection 系统将会预测用户将使用某些电话或者其他选项出现在将会用到的应用中

    2.1K20

    《云阅》一个仿网易云音乐UI,使用Gank.Io及豆瓣Api开发的开源项目

    干货订制: 可以筛选自己喜欢干货的类别,有全部、IOS、App、前端、休息视频和拓展资源。 大安卓: 显示安卓的全部资讯。支持下拉刷新方便查看最新的资源。...玩安卓: 显示玩安卓轮播图及最新内容。 段子: 显示内涵段子和糗事百科的段子内容。 书籍: 检索豆瓣心理学类的书籍并展示。...细节分析 - ToolBar 上的按钮点击效果 仔细研究的人知道,网易云音乐的UI做的很精致,就拿一个ToolBar为例,上面的每个按钮的点击操作都有各自的效果。...现总结出两个问题:1、ToolBar上按钮的设置;2、不同按钮点击的水波纹效果 对于1: ToolBar上按钮的设置 些许研究了ToolBar的使用后得知,可以直接在其内部包裹Imageview外,还可以通过菜单文件设置..." 点击效果就会全部是黑灰的,就是中间三个按钮的那种效果,如果想要点击效果是白色的话,需要设置主题: theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar

    1.4K10

    基础篇章:关于 React Native 之 Touchable 系列组件的讲解

    在底层实现上,实际会创建一个新的视图到视图层级中,如果使用的方法不正确,有时候会导致一些不希望出现的视觉效果出现。比如没有给视图的backgroundColor显式声明一个不透明的颜色。...在底层实现上,实际会创建一个新的RCTView结点替换当前的子View,并附带一些额外的属性。而且原生触摸操作反馈的背景可以使用background属性来自定义。...我们推荐使用以下的静态方法之一来创建这个对象: TouchableNativeFeedback.SelectableBackground() - 会创建一个对象,表示安卓主题默认的对于被选中对象的背景。...attr/selectableItemBackground) TouchableNativeFeedback.SelectableBackgroundBorderless() - 会创建一个对象,表示安卓主题默认的对于被选中的无边框对象的背景...TouchableNativeFeedback.Ripple(color, borderless) - 会创建一个对象,当按钮被按下时产生一个涟漪状的背景,你可以通过color参数来指定颜色,如果参数borderless

    1.6K90

    游戏优化系列一:海外谷歌应用适配相关

    作者 大家好,我叫Jack冯; 本人20年硕士毕业于广东工业大学,于2020年6月加入37手游安卓团队;目前主要负责海外游戏发行安卓相关开发。 背景 游戏上架谷歌申请推荐时,谷歌会给予一些优化建议。...这些建议实际上都是比较不错的游戏体验优化方向。 前提:以下根据app上架谷歌应用商店的标准,列举需要适配的地方并提供了修改样例。 目录 1. 谷歌应用图标 2. 状态栏消息推送 3....系统主题风格 4. 导航键 5. 屏幕适配 6. 返回按钮 1....【注意】 如果修改主题后,输入框等显示异常(eg:角色的名称输入框,背景白色、字体白色,会影响玩家体验),可使用推荐主题来修复android:theme="@style/Theme.AppCompat.Light.DarkActionBar...具体情境: (1)在游戏启动、资源加载过程,点击系统返回按钮要求能够后退,或者弹框提示用户是否退出游戏;(部分应用在这过程屏蔽了系统按钮,出现被谷歌应用商店拒绝的情况) (2)活动弹窗显示时,点击返回系统按钮要求能够关闭弹窗

    10.7K40

    基础篇章:关于 React Native 之 Touchable 系列组件的讲解

    在底层实现上,实际会创建一个新的视图到视图层级中,如果使用的方法不正确,有时候会导致一些不希望出现的视觉效果出现。比如没有给视图的backgroundColor显式声明一个不透明的颜色。...在底层实现上,实际会创建一个新的RCTView结点替换当前的子View,并附带一些额外的属性。而且原生触摸操作反馈的背景可以使用background属性来自定义。...我们推荐使用以下的静态方法之一来创建这个对象: TouchableNativeFeedback.SelectableBackground() - 会创建一个对象,表示安卓主题默认的对于被选中对象的背景。...attr/selectableItemBackground) TouchableNativeFeedback.SelectableBackgroundBorderless() - 会创建一个对象,表示安卓主题默认的对于被选中的无边框对象的背景...TouchableNativeFeedback.Ripple(color, borderless) - 会创建一个对象,当按钮被按下时产生一个涟漪状的背景,你可以通过color参数来指定颜色,如果参数borderless

    2K90

    Android开发 - 样式和主题

    那些样式属性应用在所有的窗体上,不能用在任何视图控件上。比如有些样式属性可以隐藏应用程序的标题,隐藏状态条,或者更改窗体的背景。那些类型的样式属性不属于任何视图控件对象。...安卓提供了一些内置资源,你可以使用这些预先定义好的样式,而不用自己再重新写了。... 现在可以像任意其他那样来使用这个主题,并且当跑在安卓3.0以上时,你的应用程序会自动切换到holo风格的主题。 在 R.styleable.Theme....使用平台样式和主题 安卓平台提供了很多样式和主题,供你在应用程序中使用。在 R.style 类里你可以找到可以用的引用。...比如,在安卓的主题源代码中,你将找到一个声明 .在这些定义里,你将会看到所有的常常用到的 ”被用于安卓框架的样式对话框的属性“ 更多关于 样式和主题

    1.8K10

    安卓反编译_反编译apk工具

    1、安装Java环境JDK ↑ Android是基于Linux的,而要在安卓上开发,基本上依靠Java为主。因为我们接下来要用到apktool,因此必须安装JDK。...要让Java工作,你必须先设置环境变量: 返回桌面,在桌面鼠标右键“我的电脑”或“计算机”;选择“属性”;WIN7中选择左侧的“高级系统设置”;点击“环境变量(N)..”按钮;在下面一个配置框中添加一个...xml) 编译:将经过调整的资源编译回去 签名:将编译回去的apk通过技术手段进行签名,这样才能在安卓系统中使用 虽然道理很简单,但要实现每一条都很困难。...,我相信你已经对apktool反编译apk来实现美化安卓系统有一个大致的了解。...由于安卓内部的编程不是我的强项,其中所使用的技术也很复杂,所以这里只能起到一个抛砖引玉的作用。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

    2.7K20

    niRvana · 轻拟物主题4.8完美版

    niRvana主题是一款轻拟物风格的wordpress主题,该博客主题设计上不再趋从于现有的扁平风,我认为是时候从极致的扁平稍微向拟物致敬了。...【注:之前自定义的第三方插件使用的不刷新加载页面回调方法可能在使用此版本后需要将原来的方法更换为钩子】 v2.1.0 1、优化:一些常用方法可能存在BUG的隐患 2、优化:提示框框插件,可能存在BUG的隐患...文章分类页、全部文章时间排序页在一定尺寸的屏幕上出现边栏,且顶栏也有边栏按钮的BUG,如:小尺寸的iPad横屏状态 v1.5.1 1、增强:批量发送的垃圾评论再也不可能进入本站了!...2、REST API错误不再清空页面,而是显示错误提示 v1.4.2 1、修复:启用Ajax不刷新加载页面时,文章二维码封面显示后,使用返回按钮不消失的bug;鼠标悬停显示tooltip提示文字后,使用返回按钮不消失的...v1.3.1 1、新增一种首页图片的显示模式:不需要3D显示,而是扁平化显示。此模式下,安卓手机渲染首页会非常快。 2、安卓手机显示coverflow会比较卡,所以强制使用了上述的扁平化显示。

    8.7K10

    Android 12第四测试版公开发布,代号「雪花冰沙」!Google:平台已稳定,开发者可以冲了!

    Android 12新功能之一是视觉元素大改,系统将会使用颜色提取机制,从设定的主题之中提取设计元素,体现在视觉效果上就是整个系统的主色调,会随着桌面壁纸变化而变化。...通过这个简单、自动生效的自动颜色主题设计,用户的手机会变得更具个性化。 除了自动颜色主题外,安卓12还有诸多设计上的调整,例如新的动画,优化了间距等等。...但现在这些磁贴按钮能呈现出更大的面积,可以容纳更多信息。 但更大的面积也意味着更少的按钮,在第一次下拉通知后,只会看到四个按钮。这些按钮的颜色也可以通过新的自动颜色主题来变化,视觉效果很和谐。...一个更方便的功能是Wifi共享,在安卓11当中,如果想要分享WiFi热点给他人,可以通过扫描二维码,在安卓12中,点击二维码即可看到「附近」按钮,直接就可以将WiFi凭证分享给他人,免去了扫码这一步骤。...在多设备方面,Google 希望以手机为核心,将电脑、汽车等设备构建成一个可以互相协作的网络,万物互联。 在这点上,也许华为鸿蒙走的更快? 你对安卓12的发布还抱有哪些期待?

    1.1K30

    2018年最优秀的9个Android Material Design Apps!

    那么,从日常生活中,与人们关系最密切的手机应用的角度来讲,2018年有哪些优秀的安卓材料设计主题的手机应用呢? 1. Airbnb ?...作为2017年谷歌材料设计奖得主之一,momondo的安卓应用程序很好的展示了如何在手机应用程序中体现材料设计的基本原理。并且,跟随谷歌材料设计这个主题,也在不断激发新的安卓手机应用设计方向。...下载量:22,088 产品特色: 富有表现力的布局模式 大而有吸引力的照片 Kitchen Stories这款app 独特的布局使其可以在各种设备上无缝工作。...下载量:20,844 产品特色: 悬浮按钮设计 重复交互设计 Asana的安卓设计在维护其品牌的视觉形象的同时,也并没有因为其设计而分散产品的核心功能。...一个建立在更高效、更好协作基础上的应用程序,需要在视觉上集中和清晰,以使用户集中精力完成工作。Asana通过短暂的,重复的交互实现了高效工作和协作,也不会因为广泛的无实际作用的操作而偏离内容主题。

    1.8K40

    escrcpy:【技术党必看】Android开发,Escrcpy 让你无线投屏新体验!图形界面掌控 Android,30-120fps 超流畅!

    嗨,大家好,我是小华同学,关注我们获得“最新、最全、最优质”开源项目和高效工作学习方法在移动设备日益普及的今天,我们常常希望能够更便捷地控制和管理自己的安卓设备。...(三)用户友好性非侵入式在安卓设备上不会留下任何安装残留,这对于那些担心软件安装会对设备产生不良影响的用户来说是非常好的一点。...在镜像模式下,可以将安卓设备的屏幕镜像到电脑上;录制模式则可以录制安卓设备的屏幕操作过程;OTG模式可以进行相关的OTG设备连接操作;相机模式可以对安卓设备的相机进行控制;自定义模式则可以根据用户自己的需求进行个性化的操作设置...例如,你想要快速回到安卓设备的主页面,只需点击“主页”按钮;如果想要截取当前设备屏幕,点击“截图”按钮即可。...通过以上介绍,相信大家对escrcpy已经有了深入的了解。这款开源的安卓投屏工具,凭借其强大的功能和便捷的操作,定会在你的工作和生活中发挥重要作用。

    18610
    领券