你討厭寫selector背景了嗎?手摸手教你封裝個控件!

前段時間項目裏要寫好幾個按下去狀態變化的button, 於是在drawable文件夾裏寫了一堆文件, 想想好煩啊, 也是浪費時間,搞了一堆文件,還要起名,真心煩!

一氣之下, 一勞永逸, 寫一個控件,各種屬性代碼xml配置或者代碼設置。因此也就有了StateButton。

其實實現並不難,只是比較煩,一堆屬性。 有興趣的看看。

效果圖:

image.png

stateButton.gif

有哪些功能:

 //設置圓角度
 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

感覺還可以的star下謝謝!

201609272123578195.gif

你不點個贊嗎?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章