`

通過android selector改变界面状态

阅读更多
在res/drawable文件夹新增一个文件,此文件设置了图片的触发状态,你可以设置state_pressed,state_checked,state_pressed,state_selected,state_focused,state_enabled等几个状态:



xml代码:
<selector xmlns:android="http://schemas.android.com/apk/res/android">  
 
    <item android:state_pressed="true" android:drawable="@drawable/arrow_pressed" />  
    <item android:drawable="@drawable/arrow_normal" />  
    <item android:state_checked="true" android:drawable="@drawable/arrow_pressed" />  
</selector>  

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_pressed="true" android:drawable="@drawable/arrow_pressed" />
<item android:drawable="@drawable/arrow_normal" />
<item android:state_checked="true" android:drawable="@drawable/arrow_pressed" />
</selector>
 


实现如下,注意其中的android:src="@drawable/imageselector"

Xml代码
<ImageView android:layout_width="wrap_content" 
    android:layout_height="@android:dimen/app_icon_size" 
    android:layout_alignParentRight="true" android:scaleType="fitCenter" 
    android:layout_gravity="center" android:src="@drawable/imageselector" 
    android:clickable="true" android:focusable="true" android:id="@+id/blacklistImageView" 
    android:layout_marginRight="10dip" /> 

<ImageView android:layout_width="wrap_content"
android:layout_height="@android:dimen/app_icon_size"
android:layout_alignParentRight="true" android:scaleType="fitCenter"
android:layout_gravity="center" android:src="@drawable/imageselector"
android:clickable="true" android:focusable="true" android:id="@+id/blacklistImageView"
android:layout_marginRight="10dip" />

如果当触发的控件不是ImageView,而是别的控件,可在代码中用

Java代码
blacklistImageView.setPressed(true); 
blacklistImageView.setPressed(true);
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics