基本理念:我有一个分配了 drawable1 的按钮。按下按钮时, drawable2 被分配。
我的代码的作用:在发布 button1 时,它设置为setEnabled(false),全屏 ImageView 和 button2 < / em>显示在顶部。单击 button2 时, ImageView 设置为null, button1 设置为setEnabled(true), button2 为设置隐形。
不需要的行为:点击 button2 后, button1 已分配 drawable2 ,即使未按下 drawable2 。< / p>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_enabled="true"
android:state_pressed="true"
android:drawable="@drawable/capture_button_pressed" />
<item
android:state_enabled="false"
android:drawable="@drawable/capture_button" />
<item
android:state_enabled="true"
android:drawable="@drawable/capture_button" />
</selector>
-
maCaptureButton = (Button) findViewById(R.id.button_capture);
maCaptureButton.setOnTouchListener(
new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
...
}
else if (event.getAction() == MotionEvent.ACTION_UP) {
maCaptureButton.setEnabled(false);
maImageView.setImageBitmap(...);
maBackButton.setVisibility(View.VISIBLE);
}
return false;
}
}
);
maBackButton = (Button) findViewById(R.id.button_back);
maBackButton.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
maImageView.setImageDrawable(null);
maBackButton.setVisibility(View.GONE);
maCaptureButton.setEnabled(true);
}
}
);
我几个小时一直在努力解决这个问题。一切正常,直到我在代码中添加了setEnabled(false)和setEnabled(true)。