首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android 自带的下拉刷新SwipeRefreshLayout

    概要 试了很多第三方的下拉刷新不是效果不好看 就是有bug,最后还是决定用官方的下拉刷新,但是官方的默认不支持进入页面立即刷新,所以我们可以用官方的并对其扩展 官方原版的用法 XML android.support.v4...android:layout_height="match_parent"> <ListView android:id="@+id/file_list" android...SwipeRefreshLayout.OnRefreshListener接口 添加回调方法 @Override public void onRefresh() { loadData(); } 初始化 //下拉刷新..., android.R.color.holo_orange_light, android.R.color.holo_red_light); 如上loadData()来加载数据,加载结束后记得调用下面的方法停止刷新动画...mSwipeLayout.setRefreshing(false); 进入页面立即刷新 但是我们想做到一进页面就立刻刷新,并有刷新动画怎么办 首先添加一个类 public class AutoSwipeRefreshLayout

    4.3K10

    Android几种强大的下拉刷新库

    (1)在我刚学android的时候,用的是XListView,在github上搜索有 MarkMjw/PullToRefresh ,根据Maxwin的XListView改造而来,完善下拉刷新上拉加载更多的功能并实现自动刷新以及自动加载等功能...(6)同时,这里也要提下 liaohuqiu/android-Ultra-Pull-To-Refresh ,已经强大到什么控件都能适用刷新了,相信你也听过了 (7)看过最有创意的下拉刷新FlyRefresh...(15) bingoogolapple/BGARefreshLayout-Android 多种下拉刷新效果、上拉加载更多、可配置自定义头部广告位… (16) BeautifulRefreshLayoutForGirl..., 下拉刷新拥有侵入式,非侵入式,覆盖式,非覆盖式,自动刷新,上拉加载更多,自动加载等功能…… (19) WaveRefreshForAndroid 这个是基于 Android-PullToRefresh...温馨提示:如需RecyclerView加载更多,请参考:  https://github.com/android-cjj/Android-RecyclerViewWithFooter 如果有好的下拉刷新的可以和我一块交流

    92710

    Android自定义下拉刷新动画--仿百度外卖下拉刷新

    现如今的APP各式各样,同样也带来了各种需求,一个下拉刷新都能玩出花样了,前两天订饭的时候不经意间看到了“百度外卖”的下拉刷新,今天的主题就是它--自定义下拉刷新动画。...分析 我们可以看到百度外卖的下拉刷新的头是一个骑车的快递员在路上疾行,分析一下我们得到下面的动画: 背景图片的平移动画 太阳的自旋转动画 两个小轮子的自旋转动画 这就很简单了,接下来我们去百度外面的图片资源文件里找到这几张图片...:(下载百度外卖的apk直接解压即可) 定义下拉刷新头文件:headview.xml 这里注意一下:我们定义了两张背景图片的ImageView是为了可以实现背景的平移动画效果。...动画定义完了我们开始定义下拉刷新列表,下拉刷新网上有很多,不详细的说了,简单的改造一下,根据刷新状态开启关闭动画即可。...好了,自定义下拉刷新动画我们就实现了,其实很简单,所有的下拉刷新动画都类似这样实现的。

    1.1K100

    Android VSYNC (Choreographer)与UI刷新原理分析.md

    为什么Android APP的帧率最高是60FPS呢,这就是本文要讨论的内容。 以电影为例,动画至少要达到24FPS,才能保证画面的流畅性,低于这个值,肉眼会感觉到卡顿。...UI刷新流程示意 以Textview为例 ,当我们通过setText改变TextView内容后,UI界面不会立刻改变,APP端会先向VSYNC服务请求,等到下一次VSYNC信号触发后,APP端的UI才真的开始刷新...UI局部重绘 某一个View重绘刷新,并不会导致所有View都进行一次measure、layout、draw,只是这个待刷新View链路需要调整,剩余的View可能不需要浪费精力再来一遍,反应再APP侧就是...最高60FPS,是VSYNC及决定的,每16ms最多一帧 VSYNC要客户端主动申请,才会有 有VSYNC到来才会刷新 UI没更改,不会请求VSYNC也就不会刷新 UI局部重绘其实只是省去了再次构建硬件加速用的...DrawOp树(复用上衣帧的) 作者:看书的小蜗牛 Android VSYNC (Choreographer)与UI刷新原理分析.md 仅供参考,欢迎指正

    1.7K10

    Android自定义下拉刷新动画--仿百度外卖下拉刷新

    现如今的APP各式各样,同样也带来了各种需求,一个下拉刷新都能玩出花样了,前两天订饭的时候不经意间看到了“百度外卖”的下拉刷新,今天的主题就是它–自定义下拉刷新动画。...> android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim...动画定义完了我们开始定义下拉刷新列表,下拉刷新网上有很多,不详细的说了,简单的改造一下,根据刷新状态开启关闭动画即可。...,可以再次刷新了,在onRefreshComplete中设置 if (isRefreable) {//如果现在是可刷新状态 在setOnMeiTuanListener中设置为...,其实很简单,所有的下拉刷新动画都类似这样实现的。

    1.5K30

    Android ListView优化之局部刷新(更新)(非notifyDataSetChanged)

    在Android开发中我们经常会用到listview的数据和界面刷新动作,我们每次可能会用到的都是Adapter.notifyDataSetChanged()方法。...这个方法的原理是利用观察者模式对我们的数据源进行监听,当我们的数据源发生变化的时候,会调用Adapter的getView()方法进行整个界面的刷新。...这样的话我们发现,getview()会调用多次,刷新了好多个不需要刷新的item,这样的话相对而言,降低了效率。但是,我们有的情况下是只需要对某个item的数据进行刷新就可以了。...:调用一次getView()方法 这种方法是调用适配器对应的getView方法,用它里面的代码对界面进行刷新。...android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup

    2.5K20

    Android笔记:使用Glide加载图片刷新时会闪烁

    可能这个问题很常见,大家也有不少人解决了,大部分人用的方法一和二如果你还没解决的话,那么看这篇文章就对了 使用RecyclerView,Glide加载图片,当点击图片进行刷新,不管是局部刷新还是全部刷新的时候...,都会使用glide重新加载图片,这时候如果glide加载图片的时候没设置好就会出现刷新的时候闪烁的问题,当然这是我出现的问题。...方法一 网上很多基本都是说recyclerview刷新闪烁是因为默认动画导致的mRecyclerView.setItemAnimator(new DefaultItemAnimator()),通过自定义动画修改代码...SimpleItemAnimator) mRecyclerView.getItemAnimator()).setSupportsChangeAnimations(false); 方法三 都试过并没有解决刷新闪烁的问题

    2.6K20

    Android 开发必须了解的屏幕刷新机制

    通常情况下,开发者无需直接操作CALLBACK_INPUT回调,因为Android的输入框架会自动处理这些任务CALLBACK_ANIMATION:处理动画,外部通过 postFrameCallback...在Android 11(API级别30)及更高版本中,Choreographer提供了CALLBACK_INSETS_ANIMATION回调来同步窗口插入物的动画。...通常情况下,开发者无需直接操作CALLBACK_INSETS_ANIMATION回调,因为Android的窗口插入物框架会自动处理这些任务CALLBACK_TRAVERSAL,处理绘制,measure、...计算上一帧到当前帧的时间差        final long jitterNanos = frameTimeNanos - mLastFrameTimeNanos;        // 如果大于正常刷新率...,则表示掉帧        if (jitterNanos >= mFrameIntervalNanos) {            // 计算掉帧数 = 两次刷新的时间差 / 正常没帧的间隔

    43720
    领券