这个问题问得有点尴尬。是否可以将一个视图的触摸焦点转移到另一个视图?基本上,假设您有一个选择第一个的视图ACTION_DOWN
触摸事件,然后立即想要将所有触摸事件的焦点转移到另一个视图来处理它onTouchEvent(MotionEvent event)
。我以为执行以下操作可以使其工作,但事实并非如此:
@override
public boolean onTouchEvent(MotionEvent) {
this.clearFocus();
anotherView.setFocusableInTouchMode(true);
anotherView.requestFocus();
}
显然,在我看来,这种方式行不通。有人可以向我解释一下我该如何去做这样的事情吗?
如果理解我的问题仍然有点困难,请考虑使用常规按钮。按下时,按钮会突出显示(聚焦),如果您将手指从按钮上移开,但仍将手指放在屏幕上,按钮将变得不聚焦,但仍然可以控制整个触摸事件(即使你越过它们)。我的问题是,是否可以将此触摸焦点转移到另一个视图来处理,而无需将手指从屏幕上移开。
尝试下面的代码可能会起作用
button1.setOnFocusChangeListener(new OnFocusChangeListener()
{
@Override
public void onFocusChange(View arg0, boolean hasFocus)
{
if(hasFocus)
button2.requestFocus();
}
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)