微信小游戏开发的市场前景与创新策略探讨
1256
2022-11-25
android ViewPager嵌套WebView滑动冲突问题解决
android ViewPager嵌套WebView滑动冲突问题解决
在ViewPager, ScrollView, ListView等容器控件中内嵌了webview,特别是webview的大小固定的情况下,会出现滑动的冲突,可以采用如下自定义的webview来完美解决。
/** * 主要解决viewPager嵌套webView横向滚动问题 */public class ExtendedWebView extends WebView { public ExtendedWebView(Context context) { super(context); } public ExtendedWebView(Context context, AttributeSet attrs) { super(context, attrs); } @Override protected void onOverScrolled(int scrollX, int scrollY, boolean clampedX, boolean clampedY) { if (clampedX) { ViewParent viewParent = findViewParentIfNeeds(this); viewParent.requestDisallowInterceptTouchEvent(false); } super.onOverScrolled(scrollX, scrollY, clampedX, clampedY); } @Override public boolean onTouchEvent(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) { ViewParent viewParent = findViewParentIfNeeds(this); if (viewParent != null) viewParent.requestDisallowInterceptTouchEvent(true); } return super.onTouchEvent(event); } private ViewParent findViewParentIfNeeds(View tag) { ViewParent parent = tag.getParent(); if (parent == null) { return null; } if (parent instanceof ViewPager || parent instanceof AbsListView || parent instanceof ScrollView || parent instanceof HorizontalScrollView) { return parent; } else { if (parent instanceof View) { findViewParentIfNeeds((View) parent); } else { return parent; } } return parent; }}
文章作者: JamesGZM这个方案是找的网上方案比较少的代码也不会对js进行操作
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~