首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全栈程序员必看

    定制SwipeRefreshLayout

    SwipeRefreshLayout大家都用过,google推出的,亲生儿子,兼容性自然最好! 可是SwipeRefreshLayout只支持下拉刷新,没有上拉加载更多,这样是没办法满足我们的需要的,所以本文就对它进行一下定制,加上下拉刷新。 首先贴用法: xml: <? (R.id.listView); //下拉刷新监听 swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener () { // SwipeRefreshLayout接管其包裹的ListView下拉事件。 // 每一次对ListView的下拉动作,将触发SwipeRefreshLayout的onRefresh()。

    1.7K10编辑于 2022-09-12
  • 来自专栏全栈程序员必看

    SwipeRefreshLayout 使用

    ---- v4包下SwipeRefreshLayout支持listView,webView,scrollView,recyclerView等 在布局中使用SwipeRefreshLayout将需要下拉刷新的控件包裹 当这些控件滑动到边缘时会触发 SwipeRefreshLayout.onRefresh(); 到此便完成了一次下拉刷新的操作。 使用如下方法改变划出的loading控件颜色。 不要把 emptyView 放在 SwipeRefreshLayout中。 .> <android.support.v4.widget.SwipeRefreshLayout ...> <ListView .../> <android.support.v4.widget.SwipeRefreshLayout/> <include layout="@layout/emptyView"/> <FramLayout

    34310编辑于 2022-09-12
  • 来自专栏全栈程序员必看

    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

    34410编辑于 2022-09-12
  • 来自专栏全栈程序员必看

    android swiperefreshlayout 自定义,SwipeRefreshLayout 的使用详解

    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,可以通过这个回调方法决定是否可以滑动

    1.3K10编辑于 2022-09-12
  • 来自专栏分享达人秀

    SwipeRefreshLayout下拉刷新组件

    在实际开发中,经常都会遇到下拉刷新、上拉加载更多的情形,这一期就一起来学习Android系统的SwipeRefreshLayout下拉刷新组件。 二、简单示例 上面分析了SwipeRefreshLayout和其主要方法,其实使用起来非常的简单,接下来先通过一个简单示例来学习SwipeRefreshLayout的使用方法。 > 上面的代码中SwipeRefreshLayout只有一个为ScrollView的子元素,其中是一个文本框,通过下拉刷新来更新文本框里面的内容。 设置了刷新时的动画颜色,然后给SwipeRefreshLayout添加一个下拉的Listener,在onRefresh()回调方法中来改变文本框里面的内容。 这里只是简单示范了一下SwipeRefreshLayout和RecyclerView结合使用的案例,还可以在这基础上增加下拉刷新的列表头提示灯操作。

    4K70发布于 2018-02-05
  • 来自专栏潇涧技术专栏

    Head First Android SwipeRefreshLayout

    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

    73120发布于 2018-08-01
  • 来自专栏小陈飞砖

    低灵敏度SwipeRefreshLayout

    低灵敏度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 {

    27420编辑于 2022-06-25
  • 来自专栏移动开发专栏

    SwipeRefreshLayout 嵌套ScrollView 滑动冲突

    冲突来源于 ScrollView 向下滑动的时候会触发 SwipeRefreshLayout 下拉刷新。 解决思路: 根据ScrollView 滑动距离动态处理SwipeRefreshLayout 刷新。 GradationScrollView scrollView, int x, int y, int oldx, int oldy) { //y 滚动的高度 //解决 SwipeRefreshLayout

    88720编辑于 2022-06-10
  • 来自专栏全栈程序员必看

    SwipeRefreshLayout 与 CoordinatorLayout 嵌套刷新

    SwipeRefreshLayout 与 CoordinatorLayout 嵌套刷新 1. 动态设置SwipeRefreshLayout的是否可以刷新 setEnable(boolean isEnable); 2. 设置SwipRefreshLayout刷新图标的位置 setProgressViewOffset(true, -20, 100); 首先看 SwipeRefreshLayout 与 CoordinatorLayout 布局: 1) SwipeRefreshLayout 作为最外层布局 2) CoordinatorLayout 作为第二次布局 3) CoordinatorLayout 中嵌套 AppBarLayout widget.SwipeRefreshLayout

    80010编辑于 2022-09-12
  • 来自专栏移动开发专栏

    SwipeRefreshLayout 嵌套 RecyclerView滑动冲突

    思路: 监听RecyclerView的滑动,当滑动到顶部的时候,再设置SwipeRefreshLayout刷新可用。 recyclerView.getChildCount() == 0 || recyclerView.getChildAt(0).getTop() >= 0); } }); 扩展 SwipeRefreshLayout

    75310编辑于 2022-06-10
  • 来自专栏移动开发专栏

    SwipeRefreshLayout嵌套banner滑动冲突

    比如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

    1.1K10编辑于 2022-06-10
  • 来自专栏全栈程序员必看

    android开发笔记之SwipeRefreshLayout

    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

    73310编辑于 2022-09-12
  • 来自专栏全栈程序员必看

    SwipeRefreshLayout实现上滑加载更多

    在我们的项目中,需要用到许多下拉刷新和上滑加载的操作,不说什么没用的,直接来介绍SwipeRefreshLayout的扩展用法。 后面会简单的介绍SwipeRefreshLayout的用法。 在这里我们对谷歌官方的控件进行拓展,使得SwipeRefreshLayout具有上滑加载更多的功能。 ---- 下面是正文 首先我们新建文件(文件名自己定义,在这里我取名叫MySwipeRefreshLayout) MySwipeRefreshLayout extends SwipeRefreshLayout 并创建SwipeRefreshLayout的构造方法 public class MySwipeRefreshLayout extends SwipeRefreshLayout { public MySwipeRefreshLayout 设置监听事件 mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {

    4.3K10编辑于 2022-09-12
  • 来自专栏移动开发

    SwipeRefreshLayout和RecyclerView使用的小问题

    SwipeRefreshLayout是官方提供的下拉刷新控件,在使用过程碰到一些小问题和大家分享下. 下面的代码只能监听下拉手势所引发的事件 mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener void onRefresh() { } }) 下面的代码,虽然会出现下拉刷新的视图,但不会触发上面的监听 //这段代码如果写在onCreate方法中是无效的,因为SwipeRefreshLayout mSwipeRefreshLayout.setRefreshing(true); } }); } }); 还有一点需要注意,如果SwipeRefreshLayout 下拉手势是无法触发事件的,也不会有下拉刷新的视图 RecyclerView有一点想要分享的是,如果你没有把它和Adapter关联,他会跳过加载,不会实际去初始化这个控件,虽然在布局代码写着 这个和我上面提到SwipeRefreshLayout

    2K40发布于 2018-10-18
  • 来自专栏向治洪

    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.3K100发布于 2018-02-02
  • 来自专栏码客

    Android 自带的下拉刷新SwipeRefreshLayout

    试了很多第三方的下拉刷新不是效果不好看 就是有bug,最后还是决定用官方的下拉刷新,但是官方的默认不支持进入页面立即刷新,所以我们可以用官方的并对其扩展 官方原版的用法 XML <android.support.v4.widget.SwipeRefreshLayout color/zj_qianhuise" android:dividerHeight="1px"> </ListView> </android.support.v4.widget.SwipeRefreshLayout > 代码中 //定义变量 private SwipeRefreshLayout mSwipeLayout; 实现SwipeRefreshLayout.OnRefreshListener接口 添加回调方法 @Override public void onRefresh() { loadData(); } 初始化 //下拉刷新 mSwipeLayout = (SwipeRefreshLayout) > 对应的java代码中的SwipeRefreshLayout 都换成 AutoSwipeRefreshLayout 页面加载后调用mSwipeLayout.autoRefresh()就可以了 但是立即执行

    4.6K10发布于 2019-10-22
  • 来自专栏全栈程序员必看

    SwipeRefreshLayout与RecyclerView的巧夺天工

    1.SwipeRefreshLayout使用注意说明 ㈠SwipeRefreshLayout默认只能包含一个滑动控件,比如本文使用的RecyclerView。 ㈢如果你按㈡这样做,那么SwipeRefreshLayout默认只会监听一个滑动控件,当你有多个控件的时候会使其找不到监听的滑动控件。这样SwipeRefreshLayout功能就不复存在了。 答案就是重写SwipeRefreshLayout。 2.重写SwipeRefreshLayout 当我们重写SwipeRefreshLayout,需要使用到如下一个方法: ㈠canChildScrollUp 我们来看看其文档说明: public boolean { /*** * 处理下拉和刷新滴 */ protected SwipeRefreshLayout swipeRefreshLayout; /*** * 进化的ListView

    1.9K20编辑于 2022-09-12
  • 来自专栏全栈程序员必看

    基于SwipeRefreshLayout的上拉加载控件

    实际项目中,后台肯定的接口肯定都是分页的,那么,分页加载也是自然而然的事,下面基于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

    1.3K10编辑于 2022-09-12
  • 来自专栏应用案例

    一行代码搞定SwipeRefreshLayout拦截事件

    SwipeRefreshLayout这个控件大家可能几百年前就已经在熟练使用了,相关的博客也多不胜数,方法也许不同,但实质都是一样的,写这个的目的也只是为了先把公众号和星球转起来。 SwipeRefreshLayout是Android自己支持库的下拉刷新控件,官方文档中提示,只有其包裹的孩子是RecyclerView、ListView、ScrollView等可滑动控件才能正常执行下拉刷新完整逻辑 很多博客对SwipeRefreshLayout都介绍得很详细,包括源码的分析,以及分析并解决遇到各种问题。 对于列表拦截冲突的解决方法,大致都是根据查看onInterceptTouchEvent方法里面的拦截机制,根据判断逻辑继承SwipeRefreshLayout类重写canChildScrollUp()来解决 参考 https://github.com/hanks-zyh/SwipeRefreshLayout http://www.jianshu.com/p/a366e9ecb7b8

    1.4K90发布于 2018-01-31
  • 来自专栏零域Blog

    Android SwipeRefreshLayout 下拉刷新组件的使用

    在极客学院的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

    98610编辑于 2022-03-22
领券