我在 ScrollView 中添加了一个 customView 和一个 customView。现在我想区分两个触摸事件。我的问题是当尝试滚动时,customView 也获取触摸事件,当我尝试更改 customView 时, ScrollView 获取事件。
- 我们如何在滚动时停止 customView 触摸事件。
- 当 customView 需要事件时,我们如何停止滚动触摸事件。
提前致谢
最佳答案
你可以给 subview 设置触摸监听器,然后在onTouch()事件中,你可以阻止拦截父 View 的触摸事件。
您可以使用与 https://stackoverflow.com/revisions/19311197/1 中相同的代码—
v.setOnTouchListener(new OnTouchListener() { // Setting on Touch Listener for handling the touch inside ScrollView @Override public boolean onTouch(View v, MotionEvent event) { // Disallow the touch request for parent scroll on touch of child view v.getParent().requestDisallowInterceptTouchEvent(true); return false; } });
关于第二个问题,我不确切知道你在用 customview 做什么,但也许你想改用点击事件,因为在 ontouch
中使用不同的逻辑对用户来说不是很友好> 和 onclick
因为它总是会意外启动。
关于android - 区分customView和scroll view的触摸事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49238527/