Android按鈕按下的時候改變顏色/圖片

Ⅰ、按下改變顏色

一、效果圖

        需求就是,在用戶按下選中的按鈕時,按鈕的顏色變成自己想要的顏色,用於提示用戶,當前按鈕正在被按下;鬆開手後,按鈕顏色恢復原狀。話不多說先上效果圖。

二、實現步驟

1、在res的drawable文件夾下,新建一個bt_selector.xml文件,文件內容如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/unpressed" android:state_pressed="false"/>
    <item android:drawable="@drawable/pressed" android:state_pressed="true"/>
</selector>

        其中,unpressed對應的是,按鈕state_pressed="false",即按鈕沒有被按下時所要顯示的顏色;

        而pressed對應的是,按鈕state_pressed="true",即按鈕被按下時所顯示的顏色;

2、value文件夾下的string.xml文件裏面添加如下內容:

<drawable name="unpressed">#F44336</drawable>
<drawable name="pressed">#C6993E01</drawable>

        分別設定unpressed、pressed對應綁定的顏色。

3、在button裏面添加如下代碼:

android:background="@drawable/bt_selector"

        則button裏面的完整代碼如下:

<Button
    android:layout_width="100dp"    
    android:layout_height="wrap_content"
    android:text="測試"
    android:textSize="18sp"
    android:background="@drawable/bt_selector"
/>

        以上三個步驟,即可完成Android按鈕按下的時候,顏色變成我們想要的顏色,方便用戶判斷按鈕是否按下。

 

Ⅱ、實現按下按鈕圖片變換

一、效果圖

        需求就是,在用戶按下選中的按鈕時,按鈕的顯示圖片變成自己想要的,用於提示用戶,當前按鈕正在被按下;鬆開手後,按鈕顯示圖片恢復原狀。上效果圖。

二、實現步驟

1、在res的drawable文件夾下,新建一個bt_selector.xml文件,文件內容如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/stop_red_80" android:state_pressed="false"/>
    <item android:drawable="@drawable/stop_gray_80" android:state_pressed="true"/>
    <item android:drawable="@drawable/stop_gray_80" android:state_focused="true"/>
</selector>

     其中,stop_red_80.png與stop_gray_80.png是放在drawable中兩張png格式的圖片

2、在button裏面添加如下代碼:

android:background="@drawable/bt_selector"

        則button裏面的完整代碼如下:

<Button
    android:layout_width="80dp"
    android:layout_height="80dp"
    android:background="@drawable/bt_selector"
    />

        以上兩個步驟,即可完成Android按鈕按下的時候,按鈕變成我們想要的圖片,方便用戶判斷按鈕是否按下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章