I've got an ImageView
which I'm setting to setImageResource(R.drawable.someStateListDrawable)
. Everything works fine, when it's clicked, it shows the pressed state. However, I've made it so that it开发者_如何学运维 onClick
, the ImageView
is set to "setPressed(true)
" so that it will remain in the pressed state. But for some reason, its not... Any ideas?
I just had this same problem with a Button. When onClick
I set it to the pressed state ( btn.setPressed(true)
) but after that the button wasn't pressed.
In case this helps somebody, I finally worked with the selected state. My drawable xml looks like
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:drawable="@drawable/menu_button_pressed"/>
</selector>
and at onClick
I now use btn.setSelected( true )
.
I don't know what was the problem with setPressed
, but this worked for me.
Have you checked out this question? He basically says use a selector, and in the xml do something like this:
<item android:state_pressed="true" android:drawable="@color/gray" />
Of course you would need to modify it to fit your needs.
精彩评论