`
天天向上1989
  • 浏览: 418133 次
  • 性别: Icon_minigender_2
  • 来自: 南京
社区版块
存档分类
最新评论

【转】android中scrollview嵌套HorizontalScrollView导致横向滑动卡顿现象解决

 
阅读更多

转载自:IT驿站 [http://www.blogchen.com ]

本文链接: http://www.blogchen.com/archives/584.html

 

也许会有人遇到,在这里说下解决方法。方便以后有人纠结这个问题。

开发中经验会遇到滑动里面嵌入滑动的问题,但是这种情况下触摸事件就会发生冲突。导致滑动非常卡,甚至出现程序停止响应。这种情况下我们一般需要重写view。下面给出重新scrollview的方法:

 

public class CustomScrollView extends ScrollView {

    private GestureDetector mGestureDetector;
    View.OnTouchListener mGestureListener; 
    
    @SuppressWarnings("deprecation")
    public CustomScrollView(Context context, AttributeSet attrs) {
        super(context, attrs);
        mGestureDetector = new GestureDetector(new YScrollDetector());
        setFadingEdgeLength(0); 
    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
        return super.onInterceptTouchEvent(ev) && mGestureDetector.onTouchEvent(ev); 
    }

    // Return false if we're scrolling in the x direction
    class YScrollDetector extends SimpleOnGestureListener {
        @Override
        public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
            if (Math.abs(distanceY) > Math.abs(distanceX)) {
                return true;
            }
            return false;
        }
    }
}
 
分享到:
评论

相关推荐

    Android ScrollView嵌套横向滑动控件时冲突问题

    前言:今天在开发的时候遇到这样的问题,最外层是ScrollView,里面嵌套了一个横向滑动的日历控件,在滑动日历的时候很卡顿。看到这种问题,自然而然的就会想到scrollview和其他可滑动控件的冲突问题。 解决思路 用户...

    Android ScrollView嵌套TabLayout+ViewPager

    亲测成功,可以直接嵌套项目中 ScrollView嵌套TabLayout+ViewPager解决滑动冲突,已进行重点标注 ViewPager会根据frament的界面高度进行展示,进行framnet的高度测量 嵌套冲突已全部解决

    Androiod中解决HorizontalScrollView和ScrollView相互嵌套导致滑动卡的方法

    总结来说,解决Android中HorizontalScrollView和ScrollView嵌套滑动卡顿问题的关键在于正确地拦截和处理触摸事件。通过自定义控件并重写onInterceptTouchEvent()和onTouchEvent()方法,我们可以实现精确的事件分发,...

    android ScrollView嵌套demo

    在这个"android ScrollView嵌套demo"中,我们将深入探讨如何解决这个问题,并提供一个实际的解决方案。首先,我们需要理解ScrollView的工作原理。ScrollView内部会捕获触摸事件并处理滚动,如果其子视图中还有其他可...

    ScrollView嵌套ScrollView滑动

    总的来说,处理ScrollView嵌套ScrollView的滑动问题需要理解Android事件分发机制,并且可能需要利用nested scrolling特性或者自定义逻辑来实现滑动事件的正确分发。对于不同API级别的设备,可能需要采取不同的策略来...

    ScrollView嵌套ListVIew两者之间滑动问题

    总之,处理ScrollView与ListView之间的滑动冲突是Android开发中的常见挑战,理解滑动事件的处理流程和利用提供的API或自定义逻辑,是解决问题的关键。通过以上所述的方法,开发者能够有效地解决这种冲突,实现流畅的...

    android ScrollView弹性控件,横向和纵向滑动

    同时,为了支持横向滑动,开发者需要对ScrollView的布局和滚动逻辑进行扩展,使其能处理水平方向的滑动。 使用ReboundScrollView时,开发者需要在项目的build.gradle文件中引入相应的依赖,或者将源码复制到项目中...

    弹性拉伸Scrollview、scrollview嵌套listview和scrollview滑动监听demo

    通过以上方式,你不仅可以实现弹性拉伸的ScrollView,还可以在ScrollView内嵌套ListView并监听滑动事件,从而在你的Android应用中创建更丰富的用户交互体验。在实际开发中,记得根据具体需求调整和优化这些代码。

    Android ScrollView 嵌套解决方案

    本文将深入探讨Android ScrollView的嵌套问题及其解决方案。 首先,理解ScrollView的基本工作原理是解决问题的关键。ScrollView本质上是一个线性布局(LinearLayout)的扩展,它可以容纳一个或多个子视图,并允许...

    解决Scrollview嵌套listview下拉刷新的一些问题

    在Android开发中,ScrollView和ListView是两种常用的布局组件。ScrollView是一个可以包含单个直接子视图的滚动容器,而ListView则是一个可以展示多个相同类型的条目并且支持滚动的控件。当在一个ScrollView中嵌套一...

    Android ScrollView嵌套ListView嵌套GridView的上下拉以及加载更多

    总的来说,Android开发中的ScrollView嵌套ListView和GridView是一项挑战,但通过巧妙地使用SwipeRefreshLayout、自定义适配器和滚动事件处理,我们可以构建出高效且功能丰富的用户界面。同时,不断优化性能和用户...

    Android Studio 3.5.2 Java如何实现横向上下滑动ScrollView,完整项目可以直接编译运行

    总结起来,通过将HorizontalScrollView嵌套在ScrollView中,我们可以在Android应用中创建一个既可以横向滑动又可以纵向滑动的视图。在实际开发中,可以根据需求调整布局和添加交互逻辑,以满足不同的应用场景。这个 ...

    Android中自定义ListView,解决scrollview嵌套listview 滑动事件冲突

    1. **使用NestedScrollView替代ScrollView**:NestedScrollView是Android Support Library中的一个组件,它内置了对嵌套滑动的支持,能很好地处理嵌套在其中的ListView或RecyclerView的滑动事件。 2. **自定义...

    ScrollView嵌套RecycleView解决高度不适配

    然而,当ScrollView嵌套RecyclerView时,可能会遇到一些常见问题,如RecycleView的高度不适配导致无法正确显示,或是滑动体验不佳。这些问题的出现主要是由于两者的滚动机制冲突以及默认布局管理器的设置。 首先,...

    Android解决ListView嵌套ScrollView不能刷新

    总的来说,解决Android中ListView嵌套ScrollView不能刷新的问题需要理解Android的滚动机制,合理选择或定制组件,以及优化布局设计。通过实践和学习,开发者可以克服这个挑战,实现流畅的用户界面。

    ScrollView嵌套ViewPager,可滑动,可动态设置ViewPager高度

    1. **使用NestedScrollView替代ScrollView**:NestedScrollView是Android Support Library中的一个组件,它支持嵌套滑动,可以更好地与ViewPager配合使用。NestedScrollView能够识别其内部子视图的滑动事件,从而...

    详解Android ScrollView嵌套EditText出现的滑动问题

    Android ScrollView 嵌套 EditText 滑动问题解决方案 Android 中的 ScrollView 和 EditText 是两个常用的 UI 组件,前者可以提供滚动功能,而后者可以接受用户的输入。然而,当我们将 EditText 嵌套在 ScrollView ...

    ScrollView嵌套GridView不能滚动的问题解决方案

    在 Android 开发中,我们经常会遇到 ScrollView 嵌套 GridView 的问题,导致页面不能滚动的问题。这个问题的出现是因为 ScrollView 和 GridView 都带有滚动条,当它们一起使用时,会出现冲突。解决这个问题的关键是...

    scrollview的滑动监听底部以及横向滑动

    总结起来,这个ScrollviewBottomDemo主要展示了如何在ScrollView中嵌套HorizontalScrollView以实现双向滚动,并通过监听滚动事件来判断滚动状态,从而实现底部和横向滑动的特定功能。这对于Android开发者来说,是...

Global site tag (gtag.js) - Google Analytics