最近实现了一个ViewPager滑动的效果,但是意外的发现,在ViewPager里面如果有WebView控件,里面的内容是可以Mark的
但是在Mark时如果第一次操作是横向的Mark,在Mark两个字符左右的时候ViewPager就会响应中断然后横向滑动,这让人情何以堪啊~~
折腾了一会儿,最后整个反射然后重写中断方法在2.3上解决了,但是API 15+发现有时候Mark不上,实在搞不定了,先放着吧
public class XXXXXPager extends ViewPager { public XXXXXPager(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub } @Override public boolean onInterceptTouchEvent(MotionEvent arg0) { // TODO Auto-generated method stub boolean touchSelection = false; requestFocus(); if (getFocusedChild() != null) { WebView mWebView = (WebView) getFocusedChild().findViewById( R.id.webview); if (mWebView != null) { Class<?> webViewClass = mWebView.getClass(); try { Field selectionField = webViewClass .getDeclaredField("mSelectingText"); if (selectionField != null) { selectionField.setAccessible(true); touchSelection = selectionField.getBoolean(mWebView); } } catch (SecurityException e1) { e1.printStackTrace(); } catch (NoSuchFieldException e1) { e1.printStackTrace(); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { // touchSelection = false; } } } if (touchSelection) { return false;// false } else { return super.onInterceptTouchEvent(arg0); } } }
相关推荐
1. **ViewPager**: 它是 Android Support Library 中的一个视图容器,可承载多个 `Fragment` 或 `View`,并通过滑动切换显示。`PagerAdapter` 是 `ViewPager` 的适配器,负责填充数据并管理页面。 2. **Indicator**...
注意:该库太旧,仅支持android-support lib,现已弃用。 最新的Kotlin和AndroidX支持版本可以使用 ,这要归功于pzienowicz赋予了它新的生命。开发工具应用开发工具应用程序是一个功能强大的android开发工具,可以...
The MultiViewPager is an extension of the support-v4 library's ViewPager that allows the pages to be wider or narrower than the ViewPager itself. It takes care of aligning the pages next to each other...
which support the direction of horizontal and vertical(new direction).You can use this lib just like the official support.v4.view.ViewPager,include the features of setPageTransformer()、...
注意,这可能涉及到依赖库的更新,确保你的build.gradle文件中已经添加了对androidx.appcompat:appcompat和androidx.viewpager2:viewpager2的依赖。 5. **样式调整**:官方TabLayout虽然提供了基本的样式,但可能...
It's just a copy paste from the v19 ViewPager available in the support lib, where I changed all the left/right into top/bottom and X into Y. Nothing complicated here, but you can gain some time ...
Android V4库,全称为`android.support.v4`,是Google为了向后兼容Android系统版本而设计的一个重要支持库。这个库包含了众多对早期API版本的扩展功能,使得开发者能够在低版本的Android设备上享受到新版本的特性。...
通过分析,我们可以学习如何使用Support Library或AndroidX来确保应用在不同版本的Android系统上运行正常。 10. **源码结构和组织**:一个好的源码项目应该有清晰的模块划分和命名规范。通过阅读源码,我们可以学习...
Android 掌上校园根据学校学生的一些需求 开发具有提下功能 使用 旋转—RotateAnimation 缩放--ScaleAnimation 渐变—AlphaAnimation等 进行Splash动画效果...请删掉PalmCampus工程下lib包里的android-support-v4.jar】
"ParallaxHeaderViewPager"是一个常见的库,它扩展了Android的ViewPager组件,提供了视差滚动效果,使得头部视图在滑动时能有更丰富的动态表现。这个项目涉及到的知识点主要集中在如何将一个使用Android Studio构建...
适用于 Android 的 PullLayout 适用于 Android 的可重用 Pull to Refresh 库。 设置 Maven: < groupId>com.dsiner.lib</ groupId> < artifactId>pulllayout < version>2.0.0 或Gradle: // AndroidX ...
此外,还需要在项目中创建一个名为`SupportLib`的目录,将`android-support-v4.jar`文件放入其中,并设置其编译动作为`AndroidJavaLibrary`。这个支持库包含了对Android 4.0及以上版本API的支持。 在实现高效的导航...
本项目是一个关于校园的app项目源码,界面比较渣,使用到的技术也比较多,不建议新手学习。 使用 旋转—RotateAnimation 缩放--ScaleAnimation 渐变—...请删掉PalmCampus工程下lib包里的android-support-v4.jar
android_support_v4 添加较新版本中引入的android功能。 现在支持 水平ListView 水平GridView 垂直ViewPager 中心浏览器 中心列表视图 中心网格视图 在ListView中平滑滚动(以响应KeyEvent) 要添加 待定 如何...
可能需要使用`Support Library`或`AndroidX`来实现向后兼容。 9. **自定义View**: 如果`ViewPager`的默认行为不能满足需求,可能需要创建自定义View来完全控制翻页过程,这样可以实现更为复杂的翻页效果。 10. *...
标题中的"design-support-lib-example"是一个项目,它展示了如何在Android应用中使用设计支持库的各种新特性。 在这个示例项目中,你可以找到以下关键知识点: 1. **CoordinatorLayout**: 这是一个高级布局,可以...
3. 兼容性问题:对于低版本Android设备,可能需要额外处理API兼容问题,如使用Support Library。 五、扩展与进阶 1. 结合其他组件:SlidingMenu可以与其他组件如Fragment、ViewPager等结合,实现更复杂的导航结构...