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

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

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

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

效果圖:app

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下謝謝!code

201609272123578195.gif

###你不點個贊嗎?orm

相關文章
相關標籤/搜索