androidbutton背景顏色
『壹』 android怎麼改變按鈕顏色
可以用代碼設置替換Button的背景顏色
btn.setBackgroundDrawable(getResources().getDrawable(R.drawable.圖片的路徑));
『貳』 android 中,我的按鈕不會像默認按鈕一樣,長按後按鈕背景會變橘黃了,是怎麼回事如何弄回來呢
android中的按鈕巧空默認一班都是淺灰色的,不是純白的,點擊時變成蔽寬絕橘黃色,是系統默認當按鈕獲取到焦點時的一個狀態變化(可以理解為背景顏色的變化)通過修改屬性xml這些都是可以改變的,我們做UI時都是美工做的圖片,都不用系統默認的,太宏姿難看了。
『叄』 【Android】關於Button背景色/樣式設置失效
在設置button背景顏色後,button背景仍然為藍色。如下所示:
在使用Android Studio 4.1+ 進行開發時,創建的項目默認的主題是 Theme.MaterialComponents.DayNight.DarkActionBar
。所有Button都是Material類型的Button,默認使用主題色。
解決方法:
android - How to change the color of a button? - Stack Overflow
『肆』 安卓界面布局如何改變所有button的背景顏色
可以使用selector來實現Button的特效
main.xml
Xml代碼
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="按下或者獲得焦點Button會變不同顏色"
<SPAN style="COLOR: #ff0000">android:textColor="@color/button_text" </SPAN>/>
</LinearLayout>
www.2cto.com
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="按下或者獲得焦點Button會變不同顏色"
android:textColor="@color/button_text" />
</LinearLayout>
XML 文件保存在res/color/button_text.xml
Xml代碼
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true" android:color="#ffff0000"/> <!-- pressed -->
<item android:state_focused="true" android:color="#ff0000ff"/> <!-- focused -->
<item android:color="#ff000000"/> <!-- default -->
</selector>
背景選擇器-selector
概述
在drawable/xxx.xml中配置,通過配置selector,可以使系統運行時根據控制項對象的狀態使用相應的圖片、文字等。
selector中的常用屬性
android:state_selected 控制項選中狀態,可以為true或false
android:state_focused 控制項獲得焦點狀態,可以為true或false
android:state_pressed 控制項點擊狀態,可以為true或false
android:state_enabled 控制項使能狀態,可以為true或false
android:state_checkable 控制項可勾選狀態,可以為true或false
android:state_checked 控制項勾選狀態,可以為true或false
注意:在狀態描述中,第一個匹配當前狀態的item會被使用。因此,如果第一個item沒有任何狀態特性的話,那麼它將每次都被使用,所以默認的值必須總是在最後。
android:window_focused 應用程序窗口焦點狀態,可以為true或false
android:color 定義特定狀態的顏色
#rgb
#argb
#rrggbb
#aarrggbb
為16進制顏色。這個顏色由rgb值指定,可帶alpha,必須以」#「開頭,後面跟隨alpha-red-green-blue信息,格式可以為:
使用selector設置背景
把下面的XML保存成.xml文件(比如list_item_bg.xml),運行時系統會根據ListView中列表項的狀態來使用相應的背景圖片。
drawable/list_item_bg.xml
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 默認時的背景圖片 -->
<item android:drawable="@drawable/pic1" />
<!-- 沒有焦點時的背景圖片 -->
<item android:state_window_focused="false"
android:drawable="@drawable/pic1" />
<!-- 非觸摸模式下獲得焦點並單擊時的背景圖片 -->
<item android:state_focused="true" android:state_pressed="true"
android:drawable= "@drawable/pic2" />
<!-- 觸摸模式下單擊時的背景圖片 -->
<item android:state_focused="false" android:state_pressed="true"
android:drawable="@drawable/pic3" />
<!--選中時的圖片背景 -->
<item android:state_selected="true"
android:drawable="@drawable/pic4" />
<!--獲得焦點時的圖片背景 -->
<item android:state_focused="true"
android:drawable="@drawable/pic5" />
</selector>
使用方法
第一種是在listview中配置android:listSelector=」@drawable/list_item_bg」
第二種是在listview的item中添加屬性android:background=」@drawable/list_item_bg」
第三種是java代碼中使用:
Drawable drawable = getResources().getDrawable(R.drawable.list_item_bg);
listview.setSelector(drawable);
註:列表有時候為黑的情況,需要加上下面的代碼使其透明:
android:cacheColorHint="@android:color/transparent"
使用selector設置字體顏色
drawable/button_font.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:color="#FF0000" />
<item android:state_focused="true" android:color="#00FF00" />
<item android:state_pressed="true" android:color="#0000FF" />
<item android:color="#000000" />
</selector>
使用方法
android:textColor="@drawable/button_color"
更復雜的效果
還可以實現更復雜的效果,例如漸變等等。 drawable/button_color.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<!-- 定義當button 處於pressed 狀態時的形態。-->
<shape>
<gradient android:startColor="#8600ff" />
<stroke android:width="2dp"
android:color="#000000" />
<corners android:radius="5dp" />
<padding android:left="10dp"
android:top="10dp"
android:bottom="10dp"
android:right="10dp"/>
</shape>
</item>
<item android:state_focused="true">
<!-- 定義當button獲得 focus時的形態 -->
<shape>
<gradient android:startColor="#eac100"/>
<stroke android:width="2dp"
android:color="#333333"
color="#ffffff"/>
<corners android:radius="8dp" />
<padding android:left="10dp"
android:top="10dp"
android:bottom="10dp"
android:right="10dp"/>
</shape>
</item>
</selector>
使用方法
android:background="@drawable/button_color"
android:focusable="true"
『伍』 Android studio的問題,為什麼button無論設置什麼背景,都是藍色的,沒有一點變化
這個就看mipmap目錄下的btn文件是啥顏色的了,如果沒問題的話,再看看是不是有其他布局覆蓋在Button上了。ps:你新建一個button 不設置任何背景屬性,去排查一下是哪方面的問題