你討厭寫selector背景了嗎?手摸手教你封裝個控制元件!
阿新 • • 發佈:2019-02-04
前段時間專案裡要寫好幾個按下去狀態變化的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"