---- v4包下SwipeRefreshLayout支持listView,webView,scrollView,recyclerView等 在布局中使用SwipeRefreshLayout将需要下拉刷新的控件包裹...当这些控件滑动到边缘时会触发 SwipeRefreshLayout.onRefresh(); 到此便完成了一次下拉刷新的操作。 使用如下方法改变划出的loading控件颜色。...不要把 emptyView 放在 SwipeRefreshLayout中。....> <android.support.v4.widget.SwipeRefreshLayout ...> <ListView .../>... <FramLayout
SwipeRefreshLayout大家都用过,google推出的,亲生儿子,兼容性自然最好!...可是SwipeRefreshLayout只支持下拉刷新,没有上拉加载更多,这样是没办法满足我们的需要的,所以本文就对它进行一下定制,加上下拉刷新。 首先贴用法: xml: <?...(R.id.listView); //下拉刷新监听 swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener...() { // SwipeRefreshLayout接管其包裹的ListView下拉事件。...// 每一次对ListView的下拉动作,将触发SwipeRefreshLayout的onRefresh()。
SwipeRefreshLayout作为谷歌官方推荐的下拉刷新控件,同时简单而又不失优雅的风格,让许多app都使用了这一控件,今天记录下SwipeRefreshLayout在项目中的实际运用。...让我们先看看SwipeRefreshLayout 的回调方法 swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener...,而且呢, swipeRefreshLayout.setRefreshing()这个方法也可以实现第一次打开页面自动下拉刷新的逻辑,具体实现请问度娘。...SwipeRefreshLayout 的其他几个方法 //设置进度View样式的大小,只有两个值DEFAULT和LARGE,表示默认和较大 swipeRefreshLayout.setSize(DEFAULT...swipeRefreshLayout.setProgressViewEndTarget(boolean scale, int end); //如果自定义了swipeRefreshLayout,可以通过这个回调方法决定是否可以滑动
java.util.Date; import android.os.Bundle; import android.os.Handler; import android.support.v4.widget.SwipeRefreshLayout...; import android.support.v4.widget.SwipeRefreshLayout.OnRefreshListener; import android.widget.TextView...= (SwipeRefreshLayout) findViewById(R.id.refresh); dateTv = (TextView) findViewById(R.id.date...); swipeRefreshLayout.setOnRefreshListener(this); } @Override public void onRefresh()...{ swipeRefreshLayout.setRefreshing(true); (new Handler()).postDelayed(new Runnable() { @Override
在实际开发中,经常都会遇到下拉刷新、上拉加载更多的情形,这一期就一起来学习Android系统的SwipeRefreshLayout下拉刷新组件。...二、简单示例 上面分析了SwipeRefreshLayout和其主要方法,其实使用起来非常的简单,接下来先通过一个简单示例来学习SwipeRefreshLayout的使用方法。...> 上面的代码中SwipeRefreshLayout只有一个为ScrollView的子元素,其中是一个文本框,通过下拉刷新来更新文本框里面的内容。...设置了刷新时的动画颜色,然后给SwipeRefreshLayout添加一个下拉的Listener,在onRefresh()回调方法中来改变文本框里面的内容。...这里只是简单示范了一下SwipeRefreshLayout和RecyclerView结合使用的案例,还可以在这基础上增加下拉刷新的列表头提示灯操作。
SwipeRefreshLayout组件是Support Library中的,用途是使用户在某个组件中下拉即可刷新页面中的内容。...The SwipeRefreshLayout does not provide accessibility events; instead, a menu item must be provided to...SwipeRefreshLayout只能有一个直接子组件,子组件也将作为手势识别的目标区域。SwipeRefreshLayout的显示效果如下,在组件上显示一个进度圈表示正在刷新。 ?...下面我们来做个案例使用SwipeRefreshLayout。 (1)新建布局文件,在SwipeRefreshLayout中插入一个RecyclerView。...import android.os.Handler; import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7
低灵敏度SwipeRefreshLayout package com.ss.android.homed.pm_home.decorate.view; import android.content.Context...; import android.support.v4.widget.SwipeRefreshLayout; import android.util.AttributeSet; import android.view.MotionEvent...; /** * 低灵敏度SwipeRefreshLayout */ public class MySwipeRefreshLayout extends SwipeRefreshLayout {
冲突来源于 ScrollView 向下滑动的时候会触发 SwipeRefreshLayout 下拉刷新。...解决思路: 根据ScrollView 滑动距离动态处理SwipeRefreshLayout 刷新。...GradationScrollView scrollView, int x, int y, int oldx, int oldy) { //y 滚动的高度 //解决 SwipeRefreshLayout
SwipeRefreshLayout 与 CoordinatorLayout 嵌套刷新 1....动态设置SwipeRefreshLayout的是否可以刷新 setEnable(boolean isEnable); 2....设置SwipRefreshLayout刷新图标的位置 setProgressViewOffset(true, -20, 100); 首先看 SwipeRefreshLayout 与 CoordinatorLayout...布局: 1) SwipeRefreshLayout 作为最外层布局 2) CoordinatorLayout 作为第二次布局 3) CoordinatorLayout 中嵌套 AppBarLayout...widget.SwipeRefreshLayout
思路: 监听RecyclerView的滑动,当滑动到顶部的时候,再设置SwipeRefreshLayout刷新可用。...recyclerView.getChildCount() == 0 || recyclerView.getChildAt(0).getTop() >= 0); } }); 扩展 SwipeRefreshLayout
比如SwipeRefreshLayout嵌套banner的时候,就会使banner手动滑动起来特别的费劲,经常滑不过去。...自定义SwipeRefreshLayout /** * Created by yechaoa on 2019/06/25....* Describe : 重写SwipeRefreshLayout的onIntercept方法解决与viewpager冲突问题。 * 思路: * 1....return super.onInterceptTouchEvent(ev); } } 而后把原来的SwipeRefreshLayout 换成SuperSwipeRefreshLayout 即可...扩展: SwipeRefreshLayout 嵌套 RecyclerView滑动冲突 SwipeRefreshLayout 嵌套ScrollView 滑动冲突 ScrollView嵌套RecyclerView
在我们的项目中,需要用到许多下拉刷新和上滑加载的操作,不说什么没用的,直接来介绍SwipeRefreshLayout的扩展用法。 后面会简单的介绍SwipeRefreshLayout的用法。...在这里我们对谷歌官方的控件进行拓展,使得SwipeRefreshLayout具有上滑加载更多的功能。...---- 下面是正文 首先我们新建文件(文件名自己定义,在这里我取名叫MySwipeRefreshLayout) MySwipeRefreshLayout extends SwipeRefreshLayout...并创建SwipeRefreshLayout的构造方法 public class MySwipeRefreshLayout extends SwipeRefreshLayout { public MySwipeRefreshLayout...设置监听事件 mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
SwipeRefreshLayout简介 SwipeRefrshLayout是Google官方更新的一个控件,可以实现下拉刷新的效果,该控件集成自ViewGroup在support-v4兼容包下....android:id="@+id/swipeRefreshLayout" android:layout_width="match_parent" android...{ private final static String TAG = "MainActivity"; private SwipeRefreshLayout swipeRefreshLayout...= (SwipeRefreshLayout) findViewById(R.id.swipeRefreshLayout); swipeRefreshLayout.setOnRefreshListener...; swipeRefreshLayout.setVisibility(View.VISIBLE); swipeRefreshLayout.setRefreshing(false
SwipeRefreshLayout是官方提供的下拉刷新控件,在使用过程碰到一些小问题和大家分享下....下面的代码只能监听下拉手势所引发的事件 mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener...void onRefresh() { } }) 下面的代码,虽然会出现下拉刷新的视图,但不会触发上面的监听 //这段代码如果写在onCreate方法中是无效的,因为SwipeRefreshLayout...mSwipeRefreshLayout.setRefreshing(true); } }); } }); 还有一点需要注意,如果SwipeRefreshLayout...下拉手势是无法触发事件的,也不会有下拉刷新的视图 RecyclerView有一点想要分享的是,如果你没有把它和Adapter关联,他会跳过加载,不会实际去初始化这个控件,虽然在布局代码写着 这个和我上面提到SwipeRefreshLayout
1:在布局中添加SwipeRefreshLayout和Listview组件 [html] view plain copy <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/srl_refresh" style=...outsideOverlay" android:verticalSpacing="@dimen/margin_standard"/> </android.support.v4.widget.SwipeRefreshLayout...空白视图 private ListView mListView;//专场列表 private PersonGoodsListAdapter mAdapter;//适配器 private SwipeRefreshLayout... mEmptyTV = (TextView) findViewById(R.id.tv_no_data); mSwipeRefreshLayout = (SwipeRefreshLayout
1.SwipeRefreshLayout使用注意说明 ㈠SwipeRefreshLayout默认只能包含一个滑动控件,比如本文使用的RecyclerView。...㈢如果你按㈡这样做,那么SwipeRefreshLayout默认只会监听一个滑动控件,当你有多个控件的时候会使其找不到监听的滑动控件。这样SwipeRefreshLayout功能就不复存在了。...答案就是重写SwipeRefreshLayout。...2.重写SwipeRefreshLayout 当我们重写SwipeRefreshLayout,需要使用到如下一个方法: ㈠canChildScrollUp 我们来看看其文档说明: public boolean...{ /*** * 处理下拉和刷新滴 */ protected SwipeRefreshLayout swipeRefreshLayout; /*** * 进化的ListView
试了很多第三方的下拉刷新不是效果不好看 就是有bug,最后还是决定用官方的下拉刷新,但是官方的默认不支持进入页面立即刷新,所以我们可以用官方的并对其扩展 官方原版的用法 XML <android.support.v4.widget.SwipeRefreshLayout...color/zj_qianhuise" android:dividerHeight="1px"> 代码中 //定义变量 private SwipeRefreshLayout mSwipeLayout; 实现SwipeRefreshLayout.OnRefreshListener接口 添加回调方法...@Override public void onRefresh() { loadData(); } 初始化 //下拉刷新 mSwipeLayout = (SwipeRefreshLayout)...> 对应的java代码中的SwipeRefreshLayout 都换成 AutoSwipeRefreshLayout 页面加载后调用mSwipeLayout.autoRefresh()就可以了 但是立即执行
实际项目中,后台肯定的接口肯定都是分页的,那么,分页加载也是自然而然的事,下面基于Google原生的下拉刷新控件SwipeRefreshLayout,实现上拉加载更多的功能。...package com.jackie.sample.custom_view; import android.content.Context; import android.support.v4.widget.SwipeRefreshLayout...Jackie on 2018/1/11 * 自定义下拉刷新上拉加载控件 目前只支持ListView */ public class CustomSwipeRefreshLayout extends SwipeRefreshLayout...由于SwipeRefreshLayout本身就是下拉加载控件,这样封装后,该控件就具备了下拉刷新上拉加载更多的功能,用法没有任务变化: <com.jackie.sample.custom_view.CustomSwipeRefreshLayout...import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.widget.SwipeRefreshLayout
SwipeRefreshLayout这个控件大家可能几百年前就已经在熟练使用了,相关的博客也多不胜数,方法也许不同,但实质都是一样的,写这个的目的也只是为了先把公众号和星球转起来。...SwipeRefreshLayout是Android自己支持库的下拉刷新控件,官方文档中提示,只有其包裹的孩子是RecyclerView、ListView、ScrollView等可滑动控件才能正常执行下拉刷新完整逻辑...很多博客对SwipeRefreshLayout都介绍得很详细,包括源码的分析,以及分析并解决遇到各种问题。...对于列表拦截冲突的解决方法,大致都是根据查看onInterceptTouchEvent方法里面的拦截机制,根据判断逻辑继承SwipeRefreshLayout类重写canChildScrollUp()来解决...参考 https://github.com/hanks-zyh/SwipeRefreshLayout http://www.jianshu.com/p/a366e9ecb7b8
在极客学院的Android学习中,发现其下拉刷新组件用的是比较老的组件,现在Google官方出的是SwipeRefreshLayout,借此机会学习了一下。...先附上图: image.png xml资源文件 <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/swipeLayout...> 只需要添加一个SwipeRefreshLayout, 其中的数据列表项我使用了ListView来显示数据 相应代码 @Override protected void onCreate(Bundle...*/ swipeLayout = (SwipeRefreshLayout) findViewById(R.id.swipeLayout); /*设置下拉刷新监听器*/...swipeLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override
领取专属 10元无门槛券
手把手带您无忧上云