Android 中解決 Button 按鈕背景色設置無效的問題

1、問題描述

  • 在布局文件中有兩個 Button 按鈕,為每個按鈕設置不同的背景色,但是顯示出來的效果都是紫色的,跟設置的顏色不同,布局文件如下所示:
	<Buttonandroid:id="@+id/button_cancel"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="@dimen/sp_30"android:textColor="@color/white"android:text="@string/cancel"android:background="@color/blue"app:layout_constraintTop_toTopOf="parent"app:layout_constraintLeft_toLeftOf="parent"><Buttonandroid:id="@+id/button_confirm"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="@dimen/sp_30"android:textColor="@color/white"android:text="@string/confirm"android:background="@color/red"app:layout_constraintTop_toTopOf="@+id/button_cancel"app:layout_constraintLeft_toRightOf="@+id/button_cancel"android:layout_marginStart="@dimen/dp_50"/>
  • 正常效果應該是一個顯示藍色,一個顯示紅色,但是實際效果是兩個都顯示紫色,如下所示:
    在這里插入圖片描述

2、原因分析

  • 這種現象是由于程序中設置了新版本主題,而新版本主題會導致按鈕顏色顯示異常。
    <style name="MyTheme.FullScreen" parent="Theme.MaterialComponents.DayNight.NoActionBar"><item name="android:windowFullscreen">true</item><item name="android:windowActionBar">false</item><item name="android:windowNoTitle">true</item></style>
  • 這里用了 Material 新版本主題 Theme.MaterialComponents.DayNight.NoActionBar。

3、解決方法

  • 通過修改主題可以解決該問題,修改 app/res/values 目錄下的 themes.xml 文件,將父主題更改為 Theme.MaterialComponents.DayNight.NoActionBar.Bridge,成功解決了所有按鈕顏色統一顯示為紫色的問題。
    <style name="MyTheme.FullScreen" parent="Theme.MaterialComponents.DayNight.NoActionBar.Bridge"><item name="android:windowFullscreen">true</item><item name="android:windowActionBar">false</item><item name="android:windowNoTitle">true</item></style>
  • 顯示效果
    在這里插入圖片描述

4、兩個主題區別

  • Theme.MaterialComponents.DayNight.NoActionBar
    這是一個標準的 Material Components 主題,支持日夜模式切換(DayNight),并且不包含 ActionBar。適用于需要完全采用 Material Components 設計語言的應用程序,且不需要 ActionBar 的場景。
  • Theme.MaterialComponents.DayNight.NoActionBar.Bridge
    這是一個過渡主題,用于在遷移到 Material Components 時,保持與舊主題的兼容性。適用于從舊的主題(如 Theme.AppCompat)遷移到 Material Components 主題時,但又不想立即完全替換所有主題屬性,可以使用這個橋接主題。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/92672.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/92672.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/92672.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

云服務器--阿里云OSS(2)【Springboot使用阿里云OSS】

&#x1f4d2; 阿里云 OSS Spring Boot 異步任務&#xff08;直接存 OSS&#xff09; 1. 項目結構 src/main/java/com/example/demo├── controller│ └── UploadController.java // 接收上傳請求├── service│ ├── AsyncUploadService.java // 異步上傳…

get請求中文字符參數亂碼問題

第一種方法 服務器默認的傳參編碼格式是ISO8859-1,所以前端直接原樣字符串請求&#xff0c;到后端解析一下就得到正確字符 String fileName request.getParameter("fileName"); fileName new String(fileName.getBytes("ISO8859-1"),"UTF-8");…

C語言(10)——結構體、聯合體、枚舉

關于C語言零基礎學習知識&#xff0c;小編有話說&#xff0c;各位看官敬請入下面的專欄世界&#xff1a;打怪升級之路——C語言之路_ankleless的博客-CSDN博客 Hi&#xff01;冒險者&#x1f60e;&#xff0c;歡迎闖入 C 語言的奇幻異世界&#x1f30c;&#xff01; 我是 Ankle…

海康威視攝像頭實時推流到阿里云公網服務器(Windows + FFmpeg + nginx-rtmp)

海康威視攝像頭實時推流到阿里云公網服務器&#xff08;Windows FFmpeg nginx-rtmp1. 步驟總覽2. 阿里云 ECS&#xff08;Linux&#xff09;配置2.1 開放端口2.2 安裝 nginx-rtmp3. Windows 電腦端配置3.1 安裝 FFmpeg3.1.1 官網/鏡像下載&#xff1a;3.1.2 解壓后將 bin 目錄…

基礎網絡網路層——IPV4地址

在IP網絡上&#xff0c;如果用戶要將一臺計算機連接到Internet上&#xff0c;就需要向因特網服務提供方ISP&#xff08;Internet Service Provider&#xff09;申請一個IP地址。IP地址是在計算機網絡中被用來唯一標識一臺設備的一組數字。IPv4地址由32位二進制數值組成&#xf…

技術速遞|GPT-5 正式上線 Azure AI Foundry

AI 應用正在經歷一場深刻變革——對企業來說&#xff0c;僅僅“能聊天”早已不夠&#xff0c;生成內容、邏輯推理、落地生產&#xff0c;這些才是新時代對 AI 能力的真正考驗。 今天&#xff0c;我們非常激動地宣布&#xff0c;OpenAI 最新旗艦大模型 GPT-5 正式上線 Azure AI …

Logistic Regression|邏輯回歸

----------------------------------------------------------------------------------------------- 這是我在我的網站中截取的文章&#xff0c;有更多的文章歡迎來訪問我自己的博客網站rn.berlinlian.cn&#xff0c;這里還有很多有關計算機的知識&#xff0c;歡迎進行留言或…

三極管在電路中的應用

1、信號放大&#xff08;電壓放大&#xff09; 應用場景 &#xff1a;麥克風聲音放大、耳機驅動、廣播信號接收等音頻設備 原理解析 &#xff1a; 想象三極管如同一個精準的水龍頭&#xff1a; 基極&#xff08;B&#xff09;電流如同擰動閥門的微弱力量&#xff08;輸入信號&a…

Redis 事務機制

文章目錄一、什么是事務&#xff1f;二、事務相關操作總體認識基本操作流程watch 操作演示watch 原理一、什么是事務&#xff1f; Redis 的事務和 MySQL 的事務概念上是類似的. 都是把?系列操作綁定成?組. 讓這?組能夠批量執?. Redis 的事務和 MySQL 事務的區別&#xff1…

Mybatis學習之自定義映射resultMap(七)

這里寫目錄標題一、準備工作1、新建maven工程2、準備兩張表3、建立mapper、pojo、映射文件mapper接口pojoxxxMapper.xml二、resultMap處理字段和屬性的映射關系1、用起別名的方式保證字段名與屬性名一致2、逐一設置resultMap映射關系3、配置mapUnderscoreToCamelCase三、多對一…

數學學習 | 高數、線代、概率論及數理統計薦書

注&#xff1a;本文為 “數學學習書目推薦” 相關合輯。 略作重排&#xff0c;如有內容異常&#xff0c;請看原文。 高等數學、線性代數及概率論與數理統計領域推薦書目 西湖邊的卡夫卡 編輯于 2023-09-19 13:26 7495 人贊同了該回答 數學具有內在的美學屬性&#xff0c;但并非…

【LLM實戰|langgraph】langgrpah基礎

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 langgraph 基礎 1. Chatbot實現 # !pip install langchain # !pip install langgraphfrom typing import Annotatedfrom typing_extensions import Typ…

大疆無人機使用eport連接Jetson主板實現目標檢測

所需硬件設備如下&#xff1a; 實現原理&#xff1a; 視頻流獲取&#xff1a;從大疆無人機獲取實時視頻流。數據傳輸&#xff1a;將視頻流傳輸至 Jetson 平臺。目標檢測處理&#xff1a;在 Jetson 上運行目標檢測算法對傳入的視頻幀進行分析 EPort開發套件 大疆官網給出了…

Typora激活與使用

Typora下載 下載地址&#xff1a;Typora 官方中文站 Typora&#xff08;1.9.5及其以前的版本&#xff09; 工具&#xff1a;待補充 流程 1.解壓工具 2.將license-gen.exe、node_inject.exe兩個文件放于typora安裝目錄下 3.在typora安裝目錄下運行cmd&#xff08;可以打開…

圖片拆分工具,自定義宮格切割

軟件介紹 今天推薦一款實用的圖像處理工具——lmage Splitter&#xff0c;支持圖像拆分與格式互轉功能&#xff0c;無廣告干擾&#xff0c;操作簡單流暢&#xff0c;滿足多樣化圖片編輯需求。 軟件優勢 該工具為綠色版設計&#xff0c;無需安裝即可直接運行&#xff0c;下載…

23種設計模式解析--創建型模式

創建型模式&#xff08;造物主的智慧&#xff09; 單例模式 模式定義 單例模式&#xff08;Singleton&#xff09;確保一個類僅有一個實例&#xff0c;并提供該實例的全局訪問點。核心思想是通過私有化構造函數和靜態成員實現受控的對象創建。核心實現要點 私有構造函數&#x…

全面解析軟件工程形式化說明技術

一、形式化說明技術概述&#xff1a;從模糊到精確的跨越 在軟件工程的發展歷程中&#xff0c;需求說明技術始終是確保軟件系統成功開發的關鍵環節。從早期依賴自然語言的非形式化描述&#xff0c;到如今基于數學和邏輯的形式化方法&#xff0c;這一領域經歷了從模糊到精確的深…

百度網盤自動啟動如何關閉,關閉智能看圖

#某度軟件引起的奔潰#在日常辦公中&#xff0c;有時候雙擊圖片&#xff0c;會自動打開了某度的網盤&#xff0c;很奇怪莫名其妙的為什么會關閉網盤后又自動打開了。如何發現是某度的牛虻軟件在搞鬼的&#xff1f;我右鍵圖片&#xff0c;選擇打開方式&#xff0c;發現有“智能看…

疏老師-python訓練營-Day40訓練和測試的規范寫法

浙大疏錦行 知識點回顧&#xff1a; 彩色和灰度圖片測試和訓練的規范寫法&#xff1a;封裝在函數中展平操作&#xff1a;除第一個維度batchsize外全部展平dropout操作&#xff1a;訓練階段隨機丟棄神經元&#xff0c;測試階段eval模式關閉dropout 作業&#xff1a;仔細學習下測…

【重磅發布】flutter_chen_keyboard -專注于鍵盤相關功能

flutter_chen_keyboard 一個功能強大且易于使用的 Flutter 鍵盤增強庫&#xff0c;專為提升移動應用的鍵盤交互體驗而設計。 &#x1f4d6; 庫簡介 flutter_chen_keyboard 是一個專注于鍵盤相關功能的 Flutter 工具庫&#xff0c;旨在為開發者提供更流暢、更智能的鍵盤交互解決…