當前位置:首頁 » 安卓系統 » button背景android

button背景android

發布時間: 2022-07-15 00:55:23

㈠ 安卓界面布局如何改變所有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裡面button的背景圖片大小怎麼能根據button大小縮放

<p>可以在ps中編輯到合適的解析度
</p><p>可以把Button組件和一個ImageView組件放在一個FrameLayout布局中,規定好FrameLayout的尺寸,然後對上面的兩個組件的寬和高都設置為match_parent</p><p>可以把上述兩個組件換成一個ImageButton組件</p><p>如果需要圖片的切換,可以考慮ImageSwitcher組件</p><p>圖片縮放演算法,縮放好後,動態為ImageView添加圖片
</p><p>
</p>

㈢ android里的Activity中button控制項的背景顏色以及相應的如何操作

background屬性是設置背景顏色和背景圖片的,如果還有問題和我聯系

㈣ android 的button 如何在設置背景後根據文字的多少變換大小

將圖標和text在button的中間位置,現在是文字和圖標距離很遠
[專業]答案:button上的android:drawableleft設置的圖片就是居左,無法和文字一起居中,文字屬性可以通過android:layout_gravity設置居中,想要android:drawableleft設置

㈤ android 怎麼讓button沒有背景

設置button屬性 android:background="@null"

㈥ Android中的Button怎麼在點擊更換背景點擊後又恢復原來的背景

只需要給Button配置一個Selector背景選擇器即可實現。
1.創建mylist_view.xml文件
首先在res目錄下新建drawable文件夾,再在新建的drawable文件夾中新建mylist_view.xml,其目錄結構為:res/drawable/mylist_view.xml。

2.根據具體需求編輯mylist_view.xml文件
新建mylist_view.xml文件後,在沒有添加任何屬性時其內部代碼結構為:
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
</selector>

3.下面就可以根據項目需求,在其內部定義為自己想要的樣式了,主要屬性如下:
<?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>

4.引用mylist_view.xml文件
android:background="@drawable/mylist_view"

㈦ android Button 怎麼把背景設置透明

Android控制項設置邊框,或者背景可以使用XML來配置,背景透明只需要設置solid 的值為 #00000000即可,前面兩位是透明度,後面6位是RGB顏色值,具體示例代碼如下:
1.在drawable新建一個 buttonstyle.xml的文件,內容如下:
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 連框顏色值 --><item>
<shape>
<solid android:color="#ff0000" />
</shape>
</item>
<!-- 主體背景顏色值 -->
<item android:bottom="3dp" android:right="3dp">
<shape>
<solid android:color="#ffffff" />
<padding android:bottom="10dp"
android:left="10dp"
android:right="10dp"
android:top="10dp" />
</shape>
</item>
</layer-list>

2.然後在布局文件裡面引入這個xml,示例代碼如下:
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button1"
android:background="@drawable/buttonstyle" />

㈧ android button 點擊後如何更換背景,然後點擊其他按鈕時該按鈕背景換回來

1、要更換背景的按鈕,id是myself。其他按鈕(以一個按鈕未代表)

ButtonmyButton=(Button)findViewById(R.id.myself);//要改變背景的按鈕
ButtonotherButton=(Button)findViewById(R.id.xxxx);//其他按鈕

2、定義Listener,如果id是myself,則改變為其他背景,否則變回來

OnClickListenercl=newOnClickListener(){
@Override
publicvoidonClick(Viewv){
if(v.getId()==R.id.myself){//如果是myself按鈕,則設置一種背景
myButton.setBackgroundResource(R.drawable.xxxx1);
}else{//如果不是myself按鈕,則設置回來。
myButton.setBackgroundResource(R.drawable.xxxx2);
}
}
}

3、按鈕設置監聽

myButton.setOnClickListener(cl);
otherButton.setOnClickListener(cl);

㈨ Android studio的問題,為什麼button無論設置什麼背景,都是藍色的,沒有一點變化

這個就看mipmap目錄下的btn文件是啥顏色的了,如果沒問題的話,再看看是不是有其他布局覆蓋在Button上了。ps:你新建一個button 不設置任何背景屬性,去排查一下是哪方面的問題

㈩ Android中如何判斷兩個Button的背景圖片是否相等

android 根據button不同狀態顯示不同(背景)圖片
2011-02-24 | nedvedno1 | 轉藏(19)
網上的思路不錯,我只做了基於xml的實現。先來貼一段網上的經典code:
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false" android:drawable="@drawable/button_add" />
<item android:state_pressed="true" android:drawable="@drawable/button_add_pressed" />
<item android:state_focused="true" android:drawable="@drawable/button_add_pressed" />
<item android:drawable="@drawable/button_add" />
</selector>
這個文件放在drawable目錄下面。命名為button_add_x.xml
使用的時候
<ImageButton
android:id="@+id/ImageButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#00000000"
android:src="@drawable/button_add_x"
>
</ImageButton>
按照這種方法 我試了多次,發現根本不能生效。後來才發現,這方法是針對ImageButton的,於是查了一下Button和ImageButton的區別,如果區別不大,我就打算把我自己的Button換成ImageButton了,但結果令我失望了,區別還不小呢,主要是這2種控制項對於實現onClick方法的機制不同,想想就復雜,如果貿然換了,編譯的時候恐怕要出現很多error。
再著,這方法並沒有改變button的background,而我們基於button去實現圖片一般都是直接+background的,對么?
下面貼我的code:
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false" android:drawable="@drawable/xxx1" />
<item android:state_pressed="true" android:drawable="@drawable/xxx2" />
<item android:state_focused="true" android:drawable="@drawable/xxx3" />
<-- 這里還可以加N多效果和動作 只要你用的到 -->
<item android:drawable="@drawable/xxx4" />
</selector>這個文件沒有不同,起名為button_add_x.xml 放在drawable下。
使用的時候有所不同
<Button
android:id="@+id/Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/button_add_x" <---這里background直接指向剛剛編寫的文件
//這行不需要--->android:src="@drawable/button_add_x"
>
</Button>ok,編譯 push後就生效了。如果你原來的background指向的是一張.png圖片的話,那麼把它換成一個自己製作的文件就好。

熱點內容
androidsdk接入 發布:2025-01-24 20:54:14 瀏覽:193
我的世界伺服器如何使用路由器映射 發布:2025-01-24 20:49:30 瀏覽:739
腳本操作瀏覽器 發布:2025-01-24 20:41:40 瀏覽:296
fast自動獲取ip地址伺服器無響應 發布:2025-01-24 20:19:13 瀏覽:710
http加密數據 發布:2025-01-24 20:15:00 瀏覽:100
中國存儲行業排名 發布:2025-01-24 20:02:21 瀏覽:422
arm編譯鏈 發布:2025-01-24 19:42:12 瀏覽:700
linuxc的函數返回值 發布:2025-01-24 19:35:23 瀏覽:665
威綸編程軟體反編譯 發布:2025-01-24 19:30:26 瀏覽:49
網路存儲單元 發布:2025-01-24 19:28:04 瀏覽:168