在android编程中,手势(Gestrue)与ViewFlipper、Scrol盟敢势袂lView、ViewPager等组件发生犟峄烟锭冲突,导致自定义手势无反应(主要原因是:ViewFlipper、ScrollView、ViewPager等组件抢占了手势(Gestrue),导致系统手势反应不会扩散到自定义手势)
工具/原料
方法一:View.setVisibility(4)、View.setVisibility(8)(4表示不可视,8表示不可视且不占位子)
方法二:ViewGroup.onInterceptTouchEvent(手势拦截)
方法/步骤
1、方法一:如果你的代码中含有ViewFlipper、S罕铞泱殳crollView、ViewPager等有手势反应的耘资诡拨组件,且是用FrameLayout包裹的;你只想触发其中某个组件的手势反应,建议用View.setVisibility()方法,屏蔽掉ViewFlipper、ScrollView、ViewPager等有手势反应组件(比如ViewFlipper.setVisibility()),到合适的时候,再将被屏蔽的组件显示出来。
2、方法二:如果你的代码中含有ViewFlipper、ScrollView、ViewPager等有手势反应的组件;你想根据不同的手势触发不同的组件手势反应,建议继承并重写以上组件,并用ViewGroup.onInterceptTouchEvent方法,拦截所有手势,进而根据不同的手势触发不同的组件。