通過xml檔案實現自定義圓角按鈕,以及點選效果

weixin_34247155發表於2016-01-28
<Button 
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:background="@drawable/circle_corner_button_selector"/>

在drawable中建立按鈕背景selector器

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/circle_corner_button_pressed" android:state_pressed="true"/>
    <item android:drawable="@drawable/circle_corner_button"/>
</selector>

分別定義不同選擇操作下的效果

  • circle_corner_button.xml檔案
<?xml version="1.0" encoding="utf-8"?>

<!-- 帶圓角 白色背景 黃色色邊框  長方體 -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape>
            <solid android:color="#FFFFFF" />
            <corners android:topLeftRadius="5dp" android:topRightRadius="5dp"
                     android:bottomRightRadius="5dp" android:bottomLeftRadius="5dp" />
            <stroke android:width="1dp" android:color="#F58939" />
            <padding
                    android:left="5dp"
                    android:top="5dp"
                    android:right="5dp"
                    android:bottom="5dp"
                    />
        </shape>
    </item>
</layer-list>
  • circle_corner_button_pressed.xml檔案
<?xml version="1.0" encoding="utf-8"?>
<!-- 帶圓角 白色背景 灰色邊框 長方體 -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape>
            <solid android:color="#FFFFFF"/>
            <corners android:topLeftRadius="5dp" android:topRightRadius="5dp"
                     android:bottomRightRadius="5dp" android:bottomLeftRadius="5dp"/>
            <stroke android:width="1dp" android:color="#dbdbdb"/>
            <padding
                    android:left="5dp"
                    android:top="5dp"
                    android:right="5dp"
                    android:bottom="5dp"
                    />
        </shape>
    </item>

</layer-list>

相關文章