如何在对象设置为不可见后检测 Android 中的 onTouch 释放事件?
How to detect onTouch release event in Android after object is set invisible?
这是我需要的。
假设我们有对象 A、B。最初对象 B 的可见性设置为 GONE
,对象 A 的可见性设置为 VISIBLE
。
触碰物体A必须使AGONE
和BVISIBLE
。释放B必须使BGONE
和AVISIBLE
。问题是必须在不再次按 B 的情况下完成。
这是我试过的。
在 A 上设置触摸事件 ACTION_DOWN
并在同一个 A 上设置 ACTION_UP
,就像描述的那样显示和隐藏 B。这行不通,因为在将 A 的可见性设置为 GONE
后不会触发 ACTION_UP
。
在 A 上设置触摸事件 ACTION_DOWN
,这将使 A GONE
和 B VISIBLE
,同时设置新的事件侦听器,使得 ACTION_UP
在 B 上会反转对象的可见性。这也不行,因为B出现后,我需要松开,再按B再松开才能生效。
我的问题。
是否可以将onTouch监听器设置为假定对象被触摸?这样就不用再按了?
对象可见性设置为GONE
后是否可以检测onTouchACTION_UP
事件?
所有想法、示例和链接都将不胜感激。
感谢您的帮助!
你可以试试这个
buttonA.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN) {
YourMethodForButtonBGoesVisible();
YourMethodForButtonAGoesGone();
} else if (event.getAction() == MotionEvent.ACTION_UP) {
YourMethodForButtonAGoesVisible();
YourMethodForButtonBGoesGone();
}
return true;
}
});
我不知道当按钮 A 消失时这是否会检测到 MotionEvent.ACTION_UP 但你可以试试。
这是我需要的。
假设我们有对象 A、B。最初对象 B 的可见性设置为 GONE
,对象 A 的可见性设置为 VISIBLE
。
触碰物体A必须使AGONE
和BVISIBLE
。释放B必须使BGONE
和AVISIBLE
。问题是必须在不再次按 B 的情况下完成。
这是我试过的。
在 A 上设置触摸事件
ACTION_DOWN
并在同一个 A 上设置ACTION_UP
,就像描述的那样显示和隐藏 B。这行不通,因为在将 A 的可见性设置为GONE
后不会触发ACTION_UP
。在 A 上设置触摸事件
ACTION_DOWN
,这将使 AGONE
和 BVISIBLE
,同时设置新的事件侦听器,使得ACTION_UP
在 B 上会反转对象的可见性。这也不行,因为B出现后,我需要松开,再按B再松开才能生效。
我的问题。
是否可以将onTouch监听器设置为假定对象被触摸?这样就不用再按了?
对象可见性设置为
GONE
后是否可以检测onTouchACTION_UP
事件?
所有想法、示例和链接都将不胜感激。 感谢您的帮助!
你可以试试这个
buttonA.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN) {
YourMethodForButtonBGoesVisible();
YourMethodForButtonAGoesGone();
} else if (event.getAction() == MotionEvent.ACTION_UP) {
YourMethodForButtonAGoesVisible();
YourMethodForButtonBGoesGone();
}
return true;
}
});
我不知道当按钮 A 消失时这是否会检测到 MotionEvent.ACTION_UP 但你可以试试。