我有一些ImageView
:
右箭头按钮的选择器是:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="3" android:state_pressed="true"/> <!-- pressed -->
<item android:drawable="1" android:state_enabled="false"/> <!-- enabled -->
<item android:drawable="2"/> <!-- default -->
</selector>
(1
,2
,3
如下图所示 - 1
用于左箭头按钮,但右边的一个看起来与相反的方向)。
现在我的问题是:
setEnable()
更改其状态。它有效。setEnable()
更改其状态。但是在用户松开手指后,该按钮会保持状态为图像#3
。cancelLongPress()
,clearFocus()
,invalidate()
,post(Runnable)
,postInvalidate()
,refreshDrawableState()
......但它们无效。< / LI>
醇>
该应用使用最低SDK 4(Android 1.6)。你能帮帮我吗?
谢谢,
答案 0 :(得分:0)
临时解决方案:
...
imageView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP) {
v.postDelayed(new Runnable() {
@Override
public void run() {
v.setEnabled(...);
}// run()
}, 200); // 200 ms is enough
}
return false;
}// onTouch()
});