1. 程式人生 > >android 在selector中同時設定button的圓角和點選效果,簡單顏色無需美工

android 在selector中同時設定button的圓角和點選效果,簡單顏色無需美工

1,如果我們沒有美工來設計我們的圓角圖片,可以採用shape的方式實現:

<?xml version="1.0" encoding="UTF-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <!-- 填充的顏色 -->
    <solid android:color="@color/systemcolor" />
    <!-- 設定按鈕的四個角為弧形 -->
    <!-- android:radius 弧形的半徑 -->
<corners android:radius="5dip" /> <!-- padding:Button裡面的文字與Button邊界的間隔 --> <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" /> </shape>

2.這裡設定了圓角之後,我們又發現我們所需要的按鈕點選效果變化沒有設定,這該怎麼辦呢,這個時候我們在 selector中進行設定,同時使用shape來實現我們正常button的點選效果

<?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>

            <solid android:color="@color/green" />
            <!-- 設定按鈕的四個角為弧形 -->
<!-- android:radius 弧形的半徑 --> <corners android:radius="5dip" /> <!-- padding:Button裡面的文字與Button邊界的間隔 --> <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" /> </shape> </item> <item > <!-- 定義button預設時的形態--> <shape> <solid android:color="@color/systemcolor" /> <!-- 設定按鈕的四個角為弧形 --> <!-- android:radius 弧形的半徑 --> <corners android:radius="5dip" /> <!-- padding:Button裡面的文字與Button邊界的間隔 --> <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" /> </shape> </item> </selector>