安卓設定按鈕選中狀態
阿新 • • 發佈:2018-11-12
1.建立正常狀態的drawable檔案(以刪除按鈕為例)
建立正常狀態的xml檔案,起名為delete_btn_normal
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <corners android:radius="20dp"/> <stroke android:color="@color/colordarkGray" android:width="0.4dp"/> <solid android:color="@color/colorGrayBack"/> </shape>
設定圓角為20dp,colordarkGray和colorGrayBack為自定義的顏色可以隨意設定。
corners 表示圓角 stroke 表示邊框,設定顏色和邊框寬度 solid 表示背景顏色
建立按下狀態的xml檔案,起名為delete_btn_pressed
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <corners android:radius="25dp"/> <stroke android:color="@color/colordarkGray" android:width="0.4dp"/> <solid android:color="@color/colordarkGray"/> </shape>
再建立按鈕的資原始檔起名為delete_alarm_btn_drawable
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/delete_btn_nomal" android:state_pressed="false" /> <item android:drawable="@drawable/delete_btn_pressed" android:state_pressed="true"/> </selector>
設定兩種狀態下的drawable
接著設定按鈕的background屬性為delete_alarm_btn_drawable即可
<Button
android:id="@+id/delete_btn"
android:layout_width="match_parent"
android:layout_marginRight="25dp"
android:layout_marginLeft="25dp"
android:layout_height="40dp"
android:background="@drawable/delete_alarm_btn_drawable"
android:textColor="@color/colorRed"
android:textSize="16sp"
android:gravity="center"
android:text="刪除鬧鈴"
android:layout_marginTop="30dp"
android:layout_marginBottom="40dp"
style="?android:attr/borderlessButtonStyle"/>
效果圖