解决SwipeRefreshLayout与ScrollView滑动冲突

在页面为了兼容小屏幕设备我们需要嵌套一个ScrollView来让我们的布局可以滑动,此时恰好外层使用了SwipeRefreshLayout那滑动冲突就来了,下面给出解决办法

1.方法一:使用NestedScrollView替换ScrollView

<android.support.v4.widget.NestedScrollView
            android:id="@+id/scrollView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"

            //跟ScrollView一样只能接受一个直接的子view
        .....
</android.support.v4.widget.NestedScrollView>

2.方法二:先将ScrollView 向上滑动一部分,然后松手.然后再向下滑动,此时应该是先触发滑动事件,当ScrollView到顶部以后才触发刷新时间.但是此时会出现先触发swipeRefreshLayout的问题。

scrollView.getViewTreeObserver().addOnScrollChangedListener(new  ViewTreeObserver.OnScrollChangedListener() {
        @Override
        public void onScrollChanged() {
            swipeRefreshLayout.setEnabled(scrollView.getScrollY()==0);
        }
    });
Code-Porter CSDN认证博客专家 代码界的扛把子
我从事多年Android软件开发及物联网方面开发,熟悉Java,Android,前端、数据库开发;对技术要求苛刻、热爱分享、热爱新技术
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 像素格子 设计师:CSDN官方博客 返回首页
实付 5.20元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值