2017-05-10 48 views
0

我有一个ImageView,我想让它可点击来按下它并更改图像。我用下面的:ImageVIew与状态为棒棒糖版本不起作用?

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_enabled="true" android:drawable="@drawable/back"/> 
<item android:state_pressed="true" android:drawable="@drawable/back_pressed"/> 
</selector> 

上SrcCompat我把上面的,但没有..

我如何使用XML选择做呢?

+0

“对于棒棒糖版本无法正常工作”....和较低的API? – Opiatefuchs

+0

并且您需要为默认状态或错误状态添加drawable ... – Opiatefuchs

回答

0

对于选择不使用未启用,只使用仅按下或激活

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:drawable="@drawable/back" /> //for Default dont check state 
<item android:drawable="@drawable/back_pressed" android:state_pressed="true" /> 
<item android:drawable="@drawable/back_pressed" android:state_selected="true" /> 

0

您需要在ImageView XML添加属性android:clickable="true"

<ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="?attr/selectableItemBackgroundBorderless" 
       android:clickable="true" 
       android:src="@mipmap/your_drawable" /> 

创建绘制

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:drawable="@drawable/back" /> //for Default dont check state 
<item android:drawable="@drawable/back_pressed" android:state_pressed="true" /> 
<item android:drawable="@drawable/back_pressed" android:state_selected="true" /> 
相关问题