相关疑难解决方法(0)

Android webview:阻止将触摸手势传递给父viewpager

我有一个包含许多子视图的viewpager; 每个子视图都是一个webview.每个webview都有一些用户可以与之交互的HTML对象; 例如,可以在滑动手势或可拖动的圆圈上工作的幻灯片,用户可以在HTML画布上移动.

问题是当用户对这些HTML对象执行手势时,viewpager会滚动到下一个视图.我希望HTML对象在用户与它们交互时工作(viewpager不滚动),以及当用户在其他地方滑动时滚动的viewpager.我怎样才能做到这一点?

Viewpager中的Web视图

PS我已经使用event.preventDefault()event.stopPropagation()在HTML幻灯片与希望的JavaScript代码的网页流量不会通过触摸事件父viewpager.

html android webview swipe android-viewpager

20
推荐指数
2
解决办法
5344
查看次数

查看寻呼机+ ImageView + Pinch缩放+旋转

我想在Imageview上实现Pinch Zoom,在View Pager中类似于Default Android Gallery.我在GitHub上找到了多个源,但缩放和滑动仅适用于第一张图像.

我尝试过的:

1.)TouchImageView

2.)PhotoView

3.)Android Touch Gallery

所有上述链接适用于单个图像视图.但是当谈到Images in View寻呼机时,它们会有一些故障,只能在View Pager中对第一张图像工作正常.当我们在视图寻呼机中滚动到第3个第4个图像时,如果图像被缩放,拖动功能将无法按预期工作.

如果有人知道任何一个好的图书馆,请为我们提供链接.

android imageview android-viewpager pinchzoom

19
推荐指数
1
解决办法
4万
查看次数

在Viewpager中滚动Webview

我有WebView一个ViewPager.并且ViewPager似乎消耗了所有的水平滚动,因此我无法滚动WebView(垂直工作).

如何实现WebView优先消耗水平滚动?

android scroll webview android-viewpager

15
推荐指数
1
解决办法
1万
查看次数

在ViewPager中水平滚动WebView

已经有几个问题 的这个问题,但没有考虑到正在努力为我们真正的解决方案.我们有一个ViewPager包含动态数量的webview(内部片段),有时需要水平滚动.

我们看到的问题是,当水平滚动时,ViewPager会拦截那些滚动事件(或拖动或拖动),然后提示页面在操作方向上切换.

WebView要么不向其父级报告其内容的宽度,要么ViewPager不加思索地在它应该之前捕获动作.

我尝试使用computeHorizo​​ntalScroll()解决方案,这似乎很有希望,但该方法总是返回0并且对我没有好处.

  1. 为什么没有一种方法来获取WebView的HTML内容的实际内容宽度,就像getContentHeight()一样?这会给我们提供我们需要的东西,但不幸的是它没有在API中提供.
  2. 有没有人看到这个问题的解决方法实际上有效?

android webview android-viewpager

14
推荐指数
1
解决办法
1186
查看次数

带有WebView的ViewPager允许滑动和禁止滚动WebView

我正在使用ViewPager并将内容WebView呈现HTML为电子书.在ViewPager的某些页面上,我允许TouchEvent由WebView处理,在某些页面上,我让ViewPager TouchEvent通过覆盖该onInterceptTouchEvent方法来自行处理ViewPager(某些页面有TextViewsButtons没有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)

我通过设置禁止再次滚动OnTouchListenerWebView使用下面的代码-

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 webview android-webview android-viewpager

10
推荐指数
1
解决办法
3206
查看次数

ViewPager中的水平滚动视图

我有像Android市场一样的水平滚动页面(ViewPager).

我的问题是我想在其中有一些水平滚动视图和一些图像?这可能吗?

就像现在一样,我在我的视图中得到一个小滚动,然后整个页面滚动.

谢谢你的时间!

android

7
推荐指数
2
解决办法
1万
查看次数

如何正确扩展WebView?

我在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)

android webview android-viewpager

3
推荐指数
1
解决办法
4663
查看次数