`

能够兼容ViewPager的ScrollView

阅读更多

转载:http://www.strongcms.net/mobile/android/2012/0619/7272_7.html

 

能够兼容ViewPager的ScrollView

 

ScrollView嵌套ViewPager冲突的解决办法:

 

/**
 * 能够兼容ViewPager的ScrollView
 * @Description: 解决了ViewPager在ScrollView中的滑动反弹问题
 */
public class ScrollViewExtend extends ScrollView {
    // 滑动距离及坐标
    private float xDistance, yDistance, xLast, yLast;

    public ScrollViewExtend(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
        switch (ev.getAction()) {
            case MotionEvent.ACTION_DOWN:
                xDistance = yDistance = 0f;
                xLast = ev.getX();
                yLast = ev.getY();
                break;
            case MotionEvent.ACTION_MOVE:
                final float curX = ev.getX();
                final float curY = ev.getY();
                
                xDistance += Math.abs(curX - xLast);
                yDistance += Math.abs(curY - yLast);
                xLast = curX;
                yLast = curY;
                
                if(xDistance > yDistance){
                    return false;
                }  
        }

        return super.onInterceptTouchEvent(ev);
    }
} 

 

分享到:
评论
1 楼 klower.jiang 2013-08-01  
Good job, Thank you so much!

相关推荐

    ScrollView兼容ViewPager代码demo

    在这个"ScrollView兼容ViewPager代码demo"中,开发者可能面临的问题是如何在ScrollView内嵌入一个ViewPager,因为这两个组件本身都支持滚动,所以在组合使用时可能会产生冲突,导致滚动行为不正常。解决这个问题的...

    自定义ViewPager,完美解决ListView和ScrollView事件冲突

    自定义的ViewPager,可以实现页面之前的相互切换,可以...同时该ViewPager解决了传统ViewPager和ListView,ScrollView滑动冲突问题,当然ListView的滑动冲突实在ScrollView中解决的。实践表明,滑动切换效果较好。

    Android自定义左右侧滑菜单Demo,完美兼容ListView、ViewPager、ScrollView等滑动控件

    自定义LinearLayout实现左右侧滑菜单,设计思路良好,完美兼容ListView、ViewPager、ScrollView等滑动控件。如果想详细了解请看我的博客。 资源分1分只是为了对得起自己的劳动成果,大家下载了再评论就可以把分赚...

    网易布局viewpager+fragment+scrollview+recycleview

    【标题】:“网易布局viewpager+fragment+scrollview+recycleview”揭示了这个项目是关于如何在Android应用中整合并高效使用这些组件的实例。ViewPager通常用于实现页面滑动效果,Fragment则允许在单个Activity中...

    android ScrollView顶部使用Viewpager的轮播图,下拉图片能放大效果

    本文将详细讲解如何在ScrollView中实现顶部使用ViewPager的轮播图,并且在下拉时图片能产生放大效果。这个功能的实现涉及到了Android的布局管理、动画效果以及自定义控件等多个知识点。 首先,我们来分析需求。标题...

    IOS实现类似Android的ViewPager

    在iOS开发中,为了实现类似Android的ViewPager效果,开发者经常需要用到UIPageViewController或者自定义的ScrollView来实现页面滑动切换的功能。这篇内容将详细介绍如何在iOS应用中创建一个简易的ViewPager,以达到...

    Scrollview嵌套RecyclerView

    考虑使用NestedScrollView替代ScrollView,NestedScrollView是专为嵌套滚动设计的,它可以更好地处理滚动事件,并且与RecyclerView有更好的兼容性。 5. 动画和过渡效果 在嵌套的ScrollView和RecyclerView中,动画...

    android ScrollView

    这意味着NestedScrollView可以与其他具有滚动功能的视图(如HorizontalScrollView、ViewPager)一起工作,并且提供了更好的性能和兼容性。 四、ScrollView的常见问题及解决方案 4.1 内容无法滚动:如果内容没有超过...

    scrollview嵌套

    这通常发生在需要在一个可滚动的区域中放置另一个可滚动的组件,例如一个ListView、ViewPager或另一个ScrollView本身。在本篇文章中,我们将深入探讨如何在Android中实现内嵌ScrollView的布局,并讨论相关的注意事项...

    AndroidHorizontalScrollView

    1. **兼容性**:可能针对不同版本的Android系统进行了优化,确保在各个版本上都能正常工作。 2. **性能提升**:通过智能加载策略,只加载可视范围内的内容,减少内存消耗。 3. **手势识别**:可能添加了自定义的手势...

    Android新特性页面之ViewPager拖拽到最后一页再拖拽打开其他Activity(三种方法)

    在某些场景下,开发者可能希望实现一个特殊的效果:当用户在ViewPager中滑动到最后一页时,继续拖拽能够触发打开一个新的Activity。本文将详细介绍三种实现这种功能的方法。 **方法一:利用EdgeEffectCompat** ...

    testfragmentdemo

    7. **嵌套滚动**:如果你的`Fragment`或`ViewPager`内部有可滚动的视图(如`ScrollView`或`NestedScrollView`),可能会与`ViewPager`的滑动手势冲突。确保你已经适当地处理了嵌套滚动事件。 8. **布局参数**:`...

    滚动监听篇1

    本文将深入探讨滚动监听的不同方式,包括对View、ScrollView、AbsListView(如ListView和GridView)、RecyclerView以及ViewPager的监听。 首先,我们来看基础的`View`的滚动监听。尽管从API 1开始就存在滚动监听的...

    ScrollViewForLinearLayout

    `SlidingTabForListview`这个文件名可能指向了一个自定义的Tab实现,它可能是为了兼容旧版本的Android系统,或者提供特定的滑动效果和交互。 具体实现步骤可能包括以下几点: 1. 在XML布局文件中,首先创建一个`...

    viewpagerandscrollview

    3. **自定义`ViewPager`**:如果上述方法不能满足需求,可以尝试自定义`ViewPager`,重写其滑动逻辑,使其在检测到垂直滑动时不再响应,将事件交给`ScrollView`处理。 4. **使用`NestedScrollView`**:`...

    TabbedfadingActionBar:滚动和导航抽屉上带有 viewpager 的选项卡式操作栏

    在“TabbedfadingActionBar”项目中,很可能使用了Android Support Library或AndroidX库,因为它们提供了对旧版本Android设备的兼容性支持,以及如`TabLayout`和`NavigationView`等组件。 在实际应用这个项目时,...

    android 仿京东,滚动屏幕标题栏渐变+(启动页面动画)

    在Android开发中,为了提供独特的用户体验,经常需要对系统默认控件进行自定义,以实现特定功能或视觉效果。...通过这样的实践,开发者不仅可以提高自己的编程技能,也能更好地理解Android系统的可定制性和灵活性。

    android两种幻灯片

    4. **ViewPager2**:相比于传统的ViewPager,ViewPager2提供了更好的性能和现代Android架构组件的兼容性。可以结合RecyclerView的使用,实现更流畅的图片滑动和缩放效果。 5. **SnapHelper**:在仿制淘宝详情页时,...

    2016最新eclipse版Android Design Support Library兼容库

    理解并熟练使用这些库能够极大地提升Android应用的视觉效果和用户体验,同时确保应用能在广泛的设备上保持一致的外观和行为。对于希望遵循Material Design指南的开发者来说,掌握Design Support Library的使用至关...

    Android仿淘宝商品详情页

    以上就是实现Android仿淘宝商品详情页的关键技术点,包括状态栏透明、标题栏图标透明度变化、自定义ViewPager、ScrollView的交互以及颜色渐变。这些知识点的掌握有助于开发者创建更加丰富和动态的Android界面。

Global site tag (gtag.js) - Google Analytics