Button背景色无法修改

问题简述

在修改Button的背景颜色时,始终无法修改颜色为设置的颜色,且颜色始终为默认的蓝紫色:

<Buttonandroid:id="@+id/btn_1"android:layout_width="match_parent"android:layout_height="50dp"android:text="@string/login"android:background="#3498db"/><Buttonandroid:id="@+id/btn_2"android:layout_width="match_parent"android:layout_height="50dp"android:text="@string/sign_up"android:background="@drawable/bg_button_2"android:layout_below="@id/btn_1"android:layout_marginTop="10dp"/><Buttonandroid:id="@+id/btn_3"android:layout_width="match_parent"android:layout_height="50dp"android:text="@string/more"android:background="@drawable/bg_button_empty3"android:layout_below="@id/btn_2"android:layout_marginTop="10dp"/><Buttonandroid:id="@+id/btn_4"android:layout_width="match_parent"android:layout_height="50dp"android:text="@string/loading"android:background="@drawable/bg_button_4"android:layout_below="@id/btn_3"android:layout_marginTop="10dp"android:onClick="showToast"/>

上文中drawable/bg_btn等颜色为非默认的蓝紫色,自己更换了背景色。

实际模拟机效果(真机效果一样)如下,默认的颜色依然没有改变:

问题解决

我的解决方法:

默认的颜色设置来自于res/values/themes.xml与夜间模式下的res/values-night/themes.xml

修改themes.xml下的

<style name="Theme.HelloWorld" parent="Theme.MaterialComponents.DayNight.DarkActionBar">

修改为

<style name="Theme.HelloWorld" parent="Theme.MaterialComponents.DayNight.DarkActionBar.Bridge">

添加.Bridge即可

即可解决问题,修改后的效果图如下:


【还有以下方法补充作为参考】

建议直接添加.Bridge的方法,如不管用再试以下方法

  1. 给按钮增加一个属性app:backgroundTint="@null"
  2. 点击菜单中的 “baiFile” -> “Invalidate Caches / Restart”,然后点击对话框中的 “Invalidate and Restart”,清空 cache 并且重启。
  3. 更换旧版本(或许确实是版本问题)
  4. 将themes文件下的

问题总结

虽然不知道原理是什么,但是在搜索问题的时候很少人遇到这种问题,且遇到问题的多半是近期提问。总结来说应该是更新问题导致的,或者说因为我选择了空白项目导致使用了默认的themes。

Button英文字母全部默认显示大写

在Button中的字符串我都是小写,但是Button展示出来的(包括模拟器运行后都为大写)

解决办法很简单,在Button的属性里加上 android:textAllCaps="false" 即可

Android Studio 4.2 中Button的Backgroud背景设置默认为蓝紫色且无法修改的问题,及Button控件中英文字母全部默认显示为大写的解决方法相关推荐

  1. Android Studio:Button控件中英文字母全部默认显示为大写的解决方法

    今天在写xml布局文件的时候发现Button控件的英文文本全部以大写显示了!(用的Android Studio) <LinearLayout android:layout_width=" ...

  2. 关于Android中Button的Backgroud背景设置默认为蓝紫色,且无法修改的问题

    问题简述: 在修改Button的背景颜色时,始终无法修改颜色为设置的颜色,且颜色始终为默认的蓝紫色. <Buttonandroid:id="@+id/btn_1"androi ...

  3. Dev控件使用CheckedListBoxControl获取items.count为0 的解决方法

    CheckedListBoxControl,我使用DataSource属性,给其绑定了一个List对象.界面显示都挺正常的,当若干个项的复选框被选中的后,它的checkedListBoxControl ...

  4. AD域控Exchange邮箱(二)——卸载ExchangeServer2010报错:“有些控件无效 - 请指定要卸载的现有服务器” 解决方法

    目录 问题描述 原因分析 解决方法 已开始,正常卸载 问题描述 exchange邮箱出问题,需要进行卸载重装.但是在卸载exchange过程中,报错:"有些控件无效 - 请指定要卸载的现有服 ...

  5. ID为GUID类型时使用ObjectDataSource控件的时候的未找到DataObjectTypeName属性的解决方法...

    今天花了好长时间才排除一个错误,真心很久纠结. 在设计表的时候把id字段设置为guid类型的时候,然后使用数据源控件的时候 插入,更新等操作会报以下类型的错误 未能在 ObjectDataSource ...

  6. 当CComboUI控件处于不可见,SelectItem无效果的解决方法

    文章目录 1.问题 2.duilib源码分析 3.解决办法 1.问题 当CComboUI控件处于不可见时,SelectItem无效果的解决方法. 2.duilib源码分析 bool CComboUI: ...

  7. 控件必须放在RUNAT=”SERVER”的窗体内的解决方法

    类型"TextBox"的控件"txtClientName"必须放在具有 runat=server 的窗体标记内解决办法 类型"TextBox" ...

  8. iOS开发 控件不能绑定拖动到视图ViewController连接的解决方法

    单击Main.storyboard,不能连接的视图最上方的 View Controller图标,将右侧Custom Class中的Class改为ViewController(或者当前视图所对应的 Cl ...

  9. 打开VB开发工具提示:Imagelist来自mscomctl.ocx控件出错,可能是mscomctl.ocx过期,解决方法...

    一.清理电脑垃圾,重启电脑(本人的就是这么解决的,在此之前替换过mscomctl.ocx,重装过VB6) 二.下载vb6cli,试一下 转载于:https://www.cnblogs.com/xbj- ...

最新文章

  1. 利用java虚拟机的工具jmap分析java内存情况
  2. 【PAT】1007. 素数对猜想 (20)
  3. PAT甲级1129 Recommendation System:[C++题解]统计前k个商品
  4. JVM调优总结(二)-一些概念
  5. python 修改字符串 循环_python – 模式匹配并用if else循环替换字符串
  6. html 字显示效果,js原生文字一个一个显示效果
  7. Verilog初学者小圣经
  8. Qt与云服务器项目,qt 云服务器
  9. 基于ARM开发板的嵌入式项目设计(C完整代码)
  10. lol那个服务器有无限火力,全新游戏模式-无限火力上线
  11. ������ʾ����
  12. 怎么用java程序控制步进电机_用单片机按键控制步进电机转动的程序怎么写
  13. 苹果cms模板_苹果CMS建站的一些心得
  14. github 开源android项目
  15. FPGA控制ADS1256的ADC采集(三)
  16. Android解决你的手机上未安装应用程序。的问题
  17. 基于特征的图像匹配算法,图片相似度匹配算法
  18. 区分癌症细胞和非癌症细胞的方法
  19. Winform指示灯
  20. Flutter网络请求库DIO的使用

热门文章

  1. Echarts x轴字体倾斜
  2. 【搜索与回溯算法】保卫农场(DFS)
  3. (C++)GDAL学习笔记—— 5 全色影像与多光谱影像的融合
  4. 宝塔面板 linux工具箱,宝塔面板教程大全–宝塔linux面板专业版数据同步插件使用教程...
  5. 计算机毕业设计ssm+vue基本微信小程序的快递柜管理系统
  6. 下一个可扩展性障碍:大型多玩家手机AR
  7. antdvue的table合计行
  8. 自签名证书和CA机构颁发的证书的区别
  9. shell获取目录的上级目录_Shell:如何获取文件指定的父目录的名称?(Shell: How to a file's specified parent directory's name?)...
  10. 秦雅:IT女生对未来职业的一点思考