Android 禁用/过滤布局的任何触摸事件
是否可以通过以ParentLayout为目标来禁用布局内所有视图的触摸事件。我知道通过查看布局中包含的每个单独视图是可能的,但如果有一种方法可以完成完整的布局,那将非常有用。我已经试过下列方法,但都是徒劳的Android 禁用/过滤布局的任何触摸事件,android,android-layout,touch-event,Android,Android Layout,Touch Event,是否可以通过以ParentLayout为目标来禁用布局内所有视图的触摸事件。我知道通过查看布局中包含的每个单独视图是可能的,但如果有一种方法可以完成完整的布局,那将非常有用。我已经试过下列方法,但都是徒劳的 ParentLayout.setClickable(false); ParentLayout.onFilterTouchEventForSecurity(event); ParentLayout.onTouchEvent(event); ParentLayout.setOnTouchL
ParentLayout.setClickable(false);
ParentLayout.onFilterTouchEventForSecurity(event);
ParentLayout.onTouchEvent(event);
ParentLayout.setOnTouchListener(l);
...
和其他类似的方式。任何帮助都将不胜感激。考虑采取以下方法
public void disableTouch(ViewGroup viewGroup) {
int childCount = viewGroup.getChildCount();
for (int i = 0; i < childCount; i++) {
View view = viewGroup.getChildAt(i);
view.setClickable(false);
if (view instanceof ViewGroup) {
disableTouch((ViewGroup) view);
}
}
}
public void disableTouch(视图组视图组){
int childCount=viewGroup.getChildCount();
for(int i=0;i
它将遍历所有子对象,并为每个子对象禁用触摸事件
onInterceptTouchEvent()
都可以实现这一目标android:enable=“false”
为了实现infinte滚动,我的ViewPager有大量的项目。准确地说是2147483647。此代码可能会遍历所有这些项,因此不可行。OMG!2147483647个视图。!!所有的都不是一次激活的,只有需要的才会被实例化并很快删除。此数字只是为视图保留的位置数。这就是为什么我要寻找一个一次性完成的东西。将相对布局作为父级,在不同的父级布局上有一个透明的图像视图,并捕捉对它的单击,而不是对视图的单击..:而且他再也没有回来。