日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android 动态改变button样式,Android 修改button颜色

發布時間:2023/12/8 Android 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 动态改变button样式,Android 修改button颜色 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

之前覺得button顏色修改,直接修改background就行了,但是會引發一系列的問題。比如原來的波紋效果沒有了,button的狀態改變的時候(例如,被禁用了),button的顏色沒有任何變化。

這里針對這個問題做一個方法的小結

普通Button的解決方法

普通的Button,解決方法比較常見,直接使用Drawable,自己做一個selector,需要點擊的波紋效果的話,加上,之后添加一個例子:

栗子

MaterialButton的解決方法

進入Material設計以后,MaterialButton使用起來和普通button有一些區別。

在將app的主題設置為Theme.MaterialComponents.Light.NoActionBar的時候。

我們的button顏色會默認變成colorAccent的顏色。

MaterialButton的background屬性不起作用了,必須要設置

app:backgroundTint才有效果。

但是設置這個屬性以后,我們的button在改變狀態的時候,顏色就不會發生變化了(點擊的波紋效果會變化)。

1、 如果希望狀態改變,背景顏色也改變的條件下,修改button顏色

MaterialButton的顏色是根據主題的colorAccent來決定的,那么就單獨給MaterialButton設置一個主題

注意,這里要使用android:theme="@style/ButtonStyle"來設置主題,不是使用style

并且在主題中,設置colorAccent為想要的顏色

@color/colorAccent

這樣,就滿足我們的需求了

2、引申一下,MaterialButton的在禁用狀態下,button的顏色是固定的,全部都是灰色,如果希望修改這個顏色怎么辦

如果我們的button普通情況下是紅色,在禁用的情況下,讓他遍成淺紅色。

我這邊找了很多方法,但是沒有直接修改禁用狀態button的顏色的

我這邊提供了一個比較取巧的方法:

首先我們知道app:backgroundTint設置以后,禁用狀態的下,button顏色不會改變,那么我們可以把手動用代碼,在按鈕禁用狀態下,把button的alpha設置一下,讓視覺效果看起來像是禁用狀態的。

style="@style/ButtonStyle"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginStart="12dp"

android:layout_marginTop="12dp"

android:layout_marginEnd="12dp"

android:layout_marginBottom="12dp"

android:alpha="0.2"

android:enabled="false"

app:backgroundTint="#898989" />

總結

以上是生活随笔為你收集整理的android 动态改变button样式,Android 修改button颜色的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。