網站首頁 編程語言 正文
前言
最近在學習安卓開發的時候遇到了一個問題,使用Android Studio在為Button設置背景顏色的時候發現設置好后卻在運行模擬機上失效了。經過一番查閱資料后才有了正確的解決辦法,相信這是很多初學Android開發的朋友都會遇到的一個問題,希望此篇對大家有所幫助。
問題描述:
使用Android Studio進行安卓開發時Button的背景色一直無法修改,呈現亮紫色(呈現顏色額和主題有關,我的是亮紫色)。
以其中一個Button舉例,代碼是這樣的:
<Button android:id="@+id/btn_1" android:layout_height="wrap_content" android:layout_width="match_parent" android:text="按鈕1" android:textSize="20sp" android:textColor="#0066FF" android:backgroundTint="@null" android:background="#FF0000"/>
正常運行的話第一個Button應該是紅色的,但是在模擬機上確實這樣:? ? ? ??
問題原因:
出現該問題的原因主要是因為使用Android Studio 4.1之后的版本進行開發時,創建的項目默認的主題都是Theme.MaterialComponents.DayNight.DarkActionBar
。所有Button都是Material類型的Button,默認使用主題色。
解決方法:
在左側project欄中找到app/src/main/res/values/themes.xml
將其中的
<style name="Theme.MyApplication" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
?修改為:
<style name="Theme.MyApplication" parent="Theme.MaterialComponents.DayNight.DarkActionBar.Bridge">
?或Theme.AppCompat下的任意一種主題:
<style name="Theme.MyApplication" parent="Theme.AppCompat.Light">
解決后運行結果:
這時候我們會發現問題已經被完美的解決啦~
后來又學到了一種更為簡單的方法,在使用Button時用android.widget.Button代替Button就可以不用那么麻煩的改設置啦,這無疑是一種更好的方法:
將
<Button android:id="@+id/btn_1"
改為:
<android.widget.Button android:id="@+id/btn_1"
即可
總結
原文鏈接:https://blog.csdn.net/weixin_52089884/article/details/122616834
相關推薦
- 2022-04-02 nginx網頁緩存時間的配置過程_nginx
- 2022-04-12 【debug】illegal hardware instruction
- 2023-02-12 Pytorch建模過程中的DataLoader與Dataset示例詳解_python
- 2022-05-29 利用Python將list列表寫入文件并讀取的方法匯總_python
- 2022-05-12 kotlin ..與 until 區別
- 2022-04-06 一篇文章帶你了解C/C++的回調函數_C 語言
- 2023-07-27 Android啟動優化之布局優化
- 2022-03-03 css實現tooltip文字提示
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支