前段時間項目裏要寫好幾個按下去狀態變化的button, 於是在drawable文件夾裏寫了一堆文件, 想想好煩啊, 也是浪費時間,搞了一堆文件,還要起名,真心煩!
一氣之下, 一勞永逸, 寫一個控件,各種屬性代碼xml配置或者代碼設置。因此也就有了StateButton。
其實實現並不難,只是比較煩,一堆屬性。 有興趣的看看。
效果圖:
有哪些功能:
//設置圓角度
app:radius="5dp"
//設置左右爲半圓, 不用計算radius
app:round="true"
//設置背景切換動畫時長
app:animationDuration="200"
//設置dash
app:strokeDashGap="2dp"
//設置dash width
app:strokeDashWidth="5dp"
//設置正常顯示的邊框寬度
app:normalStrokeWidth="2dp"
//設置按下時顯示的邊框寬度
app:pressedStrokeWidth="2dp"
//設置不可用時(enable = false)顯示的邊框寬度
app:unableStrokeWidth="2dp"
//設置正常顯示的邊框顏色
app:normalStrokeColor="@android:color/white"
//設置按下時顯示的邊框顏色
app:pressedStrokeColor="@android:color/white"
//設置不可用時(enable = false)顯示的邊框顏色
app:unableStrokeColor="@android:color/white"
//設置正常顯示的文字顏色
app:normalTextColor="@android:color/white"
//設置按下狀態顯示的文字顏色
app:pressedTextColor="@android:color/white"
//設置不可用時(enable = false)顯示的文字顏色
app:unableTextColor="@android:color/white"
//設置正常顯示的背景顏色
app:normalBackgroundColor="@color/colorPrimaryDark"
//設置按下狀態顯示的背景顏色
app:pressedBackgroundColor="@color/colorPrimaryDark"
//設置不可用時(enable = false)背景顏色
app:unableBackgroundColor="@color/colorPrimaryDark"
https://github.com/niniloveyou/StateButton