我有一个包含许多子视图的viewpager; 每个子视图都是一个webview.每个webview都有一些用户可以与之交互的HTML对象; 例如,可以在滑动手势或可拖动的圆圈上工作的幻灯片,用户可以在HTML画布上移动.
问题是当用户对这些HTML对象执行手势时,viewpager会滚动到下一个视图.我希望HTML对象在用户与它们交互时工作(viewpager不滚动),以及当用户在其他地方滑动时滚动的viewpager.我怎样才能做到这一点?

PS我已经使用event.preventDefault()和event.stopPropagation()在HTML幻灯片与希望的JavaScript代码的网页流量不会通过触摸事件父viewpager.
我想在Imageview上实现Pinch Zoom,在View Pager中类似于Default Android Gallery.我在GitHub上找到了多个源,但缩放和滑动仅适用于第一张图像.
我尝试过的:
2.)PhotoView
所有上述链接适用于单个图像视图.但是当谈到Images in View寻呼机时,它们会有一些故障,只能在View Pager中对第一张图像工作正常.当我们在视图寻呼机中滚动到第3个第4个图像时,如果图像被缩放,拖动功能将无法按预期工作.
如果有人知道任何一个好的图书馆,请为我们提供链接.
我有WebView一个ViewPager.并且ViewPager似乎消耗了所有的水平滚动,因此我无法滚动WebView(垂直工作).
如何实现WebView优先消耗水平滚动?
已经有几个问题 问的这个问题,但没有考虑到正在努力为我们真正的解决方案.我们有一个ViewPager包含动态数量的webview(内部片段),有时需要水平滚动.
我们看到的问题是,当水平滚动时,ViewPager会拦截那些滚动事件(或拖动或拖动),然后提示页面在操作方向上切换.
WebView要么不向其父级报告其内容的宽度,要么ViewPager不加思索地在它应该之前捕获动作.
我尝试使用computeHorizontalScroll()解决方案,这似乎很有希望,但该方法总是返回0并且对我没有好处.
我正在使用ViewPager并将内容WebView呈现HTML为电子书.在ViewPager的某些页面上,我允许TouchEvent由WebView处理,在某些页面上,我让ViewPager TouchEvent通过覆盖该onInterceptTouchEvent方法来自行处理ViewPager(某些页面有TextViews和Buttons没有WebView第一页和最后一页).这是相同的代码 -
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
if (getCurrentItem() == 0 || getCurrentItem() == getAdapter().getCount() - 1)
return false;
else {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
return false;
}
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
我通过设置禁止再次滚动OnTouchListener的WebView使用下面的代码-
contentView.setOnTouchListener((v, event) -> {
if (MotionEventCompat.getActionMasked(event) == MotionEvent.ACTION_MOVE) {
((BigBeeViewPager) v.getParent().getParent()).onInterceptTouchEvent(event);
}
return true;
});
Run Code Online (Sandbox Code Playgroud)
我面临的问题是 - 当我试图从页面中间滑动ViewPager时它不起作用.我必须从页面末尾开始滑动.但是它适用于没有WebView
如何允许它从页面中的任何位置开始滑动的页面.
此行为类似于 …
我有像Android市场一样的水平滚动页面(ViewPager).
我的问题是我想在其中有一些水平滚动视图和一些图像?这可能吗?
就像现在一样,我在我的视图中得到一个小滚动,然后整个页面滚动.
谢谢你的时间!
我在ViewPager中水平使用Scroll webview的解决方案
它看起来非常有用,我在xml中引用了ExtendedWebView,
<ExtendedWebView
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
Run Code Online (Sandbox Code Playgroud)
.class中的实例ExtendedWebView,
LayoutInflater mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
layout = mInflater.inflate(R.layout.lay1, null);
ExtendedWebView webView = (ExtendedWebView)layout.findViewById(R.id.webview);
Run Code Online (Sandbox Code Playgroud)
但我得到'错误膨胀类ExtendedWebView',所以任何人都可以帮助我给我一些想法,感谢您的时间和经验!
继承人是整个堆栈跟踪,
12-27 22:14:44.263: E/AndroidRuntime(10824): FATAL EXCEPTION: main
12-27 22:14:44.263: E/AndroidRuntime(10824): android.view.InflateException: Binary XML file line #7: Error inflating class com.vv_package_name.ExtendedWebView
12-27 22:14:44.263: E/AndroidRuntime(10824): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:576)
12-27 22:14:44.263: E/AndroidRuntime(10824): at android.view.LayoutInflater.rInflate(LayoutInflater.java:618)
12-27 22:14:44.263: E/AndroidRuntime(10824): at android.view.LayoutInflater.inflate(LayoutInflater.java:407)
12-27 22:14:44.263: E/AndroidRuntime(10824): at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
12-27 22:14:44.263: E/AndroidRuntime(10824): at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
12-27 22:14:44.263: E/AndroidRuntime(10824): at com.vv_package_name.vv_main$ExtendedPagerAdapter.instantiateItem(vv_main.java:135)
12-27 22:14:44.263: E/AndroidRuntime(10824): …Run Code Online (Sandbox Code Playgroud)