San*_*t A 10 android webview android-webview android-viewpager
我正在使用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
如何允许它从页面中的任何位置开始滑动的页面.
此行为类似于Gmail Android应用程序,其中ViewPager包含WebView,并且可以从任何位置使用Swiping.我无法弄清楚他们是如何做到的.
注意 -当我拦截所有内容TouchEvent时,WebView它也会禁用长按和文本选择,这是不可取的.
在此先感谢您的帮助.
| 归档时间: |
|
| 查看次数: |
3206 次 |
| 最近记录: |