以前一直做android开发的时候当要使用一个按钮或者一个控件有按下效果的时候,都是在res文件夹下的drawable下创建一个对应的drawable.xml文件,比如
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/qiandw_back_press" android:state_pressed="true"/>
<item android:drawable="@drawable/qiandw_back_normal"/>
</selector>每次都这样使用,今天希望给没有发现和使用过StateListDrawable的码友推荐一个方法,再也不用去每次都创建新的xml文件了,你只需要写一个方法即可
public StateListDrawable getSeletorDrawable(int normalID, int pressID){
StateListDrawable drawable = new StateListDrawable();
int pressed = android.R.attr.state_pressed;
drawable.addState(new int []{pressed , pressed}, getResources().getDrawable(pressID));
drawable.addState(new int []{}, getResources().getDrawable(normalID));
return drawable;
}传入一个点击时候的图素的ID和正常时候的ID即可!
本文介绍了一种简化Android按钮状态效果的方法,通过编写一个公共方法getSeletorDrawable,可以避免每次为按钮创建新的XML文件,只需传入正常状态和按下状态的图片ID即可。
1469

被折叠的 条评论
为什么被折叠?



