全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android实现SwipeRefreshLayout首次进入自动刷新

看到了Android版知乎实现了这种效果,就自己也实现了一下。

先来一张效果图

实现方式:

方法一:

①在onWindowFocusChanged()方法中,设置为刷新状态为true

@Override
  public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    mSwipeRefreshLayout.setRefreshing(true);
  }

②在获取数据完成后设置刷新状态为false

if (mSwipeRefreshLayout.isRefreshing()) {
              mSwipeRefreshLayout.setRefreshing(false);
            }

方法二:

①调用mSwipeRefreshLayout.measure()方法后,设置刷新状态为true

//手动调用,通知系统去测量
    mSwipeRefreshLayout.measure(0,0);
    mSwipeRefreshLayout.setRefreshing(true);

②在获取数据完成后设置刷新状态为false

if (mSwipeRefreshLayout.isRefreshing()) {
              mSwipeRefreshLayout.setRefreshing(false);
            }

说明:
方法一和方法二的第一步的目的,都是为了在SwipeRefreshLayout绘制完成之后,再设置刷新状态为true,否则大多数情况下,SwipeRefreshLayout刷新球会不显示。

源码:

package org.raphets.swiperefreshlayoutdemo;

import android.graphics.Color;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
  private SwipeRefreshLayout mSwipeRefreshLayout;
  private TextView mTextView;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mSwipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.srl);
    mTextView = (TextView) findViewById(R.id.tv);


    //设置刷新球颜色
    mSwipeRefreshLayout.setColorSchemeColors(Color.BLUE, Color.RED, Color.YELLOW);
    mSwipeRefreshLayout.setProgressBackgroundColorSchemeColor(Color.parseColor("#BBFFFF"));
    //手动调用,通知系统去测量
//    mSwipeRefreshLayout.measure(0,0);
    mSwipeRefreshLayout.setRefreshing(true);
    getData();
  }

  /**
   * 模拟网络请求
   */
  private void getData() {
    new Thread() {
      @Override
      public void run() {
        super.run();
        //模拟网络请求
        try {
          Thread.sleep(3000);
        } catch (InterruptedException e) {
          e.printStackTrace();
        }
        //在UI线程中更新UI
        runOnUiThread(new Runnable() {
          @Override
          public void run() {
            mTextView.setText("首次进入自动刷新");
            if (mSwipeRefreshLayout.isRefreshing()) {
              mSwipeRefreshLayout.setRefreshing(false);
            }
          }
        });
      }
    }.start();
  }

  @Override
  public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    mSwipeRefreshLayout.setRefreshing(true);
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Android  # SwipeRefreshLayout  # 自动刷新  # Android SwipeRefreshLayout超详细讲解  # Android 使用SwipeRefreshLayout控件仿抖音做的视频下拉刷新效果  # Android SwipeRefreshLayout仿抖音app静态刷新  # android使用SwipeRefreshLayout实现ListView下拉刷新上拉加载  # android基于SwipeRefreshLayout实现类QQ的侧滑删除  # Android 中SwipeRefreshLayout与ViewPager滑动事件冲突解决方法  # android中SwipeRefresh实现各种上拉  # 下拉刷新示例  # Android使用Item Swipemenulistview实现仿QQ侧滑删除功能  # Android 中 Swipe、Scroll 和 Fling  # 都是  # 实现了  # 完成后  # 首次  # 设置为  # 先来  # 大家多多  # 情况下  # 看到了  # false  # runOnUiThread  # isRefreshing  # span  # measure  # hasFocus  # boolean  # super  # setRefreshing  # mSwipeRefreshLayout  # package 


相关文章: 高防服务器如何保障网站安全无虞?  如何配置WinSCP新建站点的密钥验证步骤?  建站之星24小时客服电话如何获取?  寿县云建站:智能SEO优化与多行业模板快速上线指南  上海网站制作网站建设公司,建筑电工证网上查询系统入口?  c# F# 的 MailboxProcessor 和 C# 的 Actor 模型  高性能网站服务器部署指南:稳定运行与安全配置优化方案  IOS倒计时设置UIButton标题title的抖动问题  宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?  如何在宝塔面板创建新站点?  建站之星在线版空间:自助建站+智能模板一键生成方案  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  济南网站制作的价格,历城一职专官方网站?  制作网站的基本流程,设计网站的软件是什么?  建站主机选哪家性价比最高?  成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  如何通过多用户协作模板快速搭建高效企业网站?  广州顶尖建站服务:企业官网建设与SEO优化一体化方案  如何访问已购建站主机并解决登录问题?  建站主机助手选型指南:2025年热门推荐与高效部署技巧  建站主机选择指南:服务器配置与SEO优化实战技巧  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  网站专业制作公司有哪些,做一个公司网站要多少钱?  c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】  如何快速搭建高效香港服务器网站?  建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南  建站之星2.7模板:企业网站建设与h5定制设计专题  如何通过服务器快速搭建网站?完整步骤解析  哈尔滨网站建设策划,哈尔滨电工证查询网站?  如何通过VPS搭建网站快速盈利?  如何在香港免费服务器上快速搭建网站?  c# Task.ConfigureAwait(true) 在什么场景下是必须的  如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法  建站主机如何选?高性价比方案全解析  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  网站按钮制作软件,如何实现网页中按钮的自动点击?  长沙企业网站制作哪家好,长沙水业集团官方网站?  建站主机数据库如何配置才能提升网站性能?  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  建站之星如何修改网站生成路径?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  重庆市网站制作公司,重庆招聘网站哪个好?  建站之星2.7模板快速切换与批量管理功能操作指南  建站VPS能否同时实现高效与安全翻墙?  大型企业网站制作流程,做网站需要注册公司吗?  建站之星代理费用多少?最新价格详情介绍  香港服务器WordPress建站指南:SEO优化与高效部署策略  定制建站哪家更专业可靠?推荐榜单揭晓  建站之星展会模版如何一键下载生成? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。