zoukankan      html  css  js  c++  java
  • Android SwipeRefreshLayout 下拉刷新——Hi_博客 Android App 开发笔记

    以前写下拉刷新 感觉好费劲,要判断ListView是否滚到顶部,还要加载头布局,还要控制 头布局的状态,等等一大堆。感觉麻烦死了。今天学习了SwipeRefreshLayout 的用法,来分享一下,有说的不对的地方请大家指点。

    SwipeRefreshLayout 是Google在support v4 19.1版本的library更新的一个下拉刷新组件,也就是说 开发的时候把Android版本调到4.4或者以上才会有这个。

    先来看看效果图

    再来看看布局文件里的代码(我这里放的是一个ListView 当然也可以放其他控件 只要你高兴就好)

     <android.support.v4.widget.SwipeRefreshLayout
            android:id="@+id/main_srl_bloglist"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
    
            <ListView
                android:id="@+id/main_lv_bolg_list"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:divider="#00000000"
                android:dividerHeight="5dp"></ListView>
    
    
        </android.support.v4.widget.SwipeRefreshLayout>

    最后来看看Activiy里的代码吧(这里我用的AndroidAnnotations 所以没有写 findViewById 哈哈)

     //设置刷新时动画的颜色,可以设置4个
            mSwipeRefreshLayout.setColorSchemeResources(android.R.color.holo_blue_light, android.R.color.holo_red_light, android.R.color.holo_orange_light, android.R.color.holo_green_light);
            mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
                @Override
                public void onRefresh() {
                    mIndex=1;
                    mBlogList.clear();
                    loadBlogData();
                }
            });

    在onRefresh 里调用获取数据的方法就好了 数据获取完毕 别忘了 修改状态

    mSwipeRefreshLayout.setRefreshing(false);

    哈哈 以前要写成吨的代码 用SwipeRefreshLayout 就这几行代码 是不是很方便。

  • 相关阅读:
    分支与合并@基础
    创业者那些鲜为人知的事情
    centos7.5+nginx+php急速配置
    通过webhost扩展方式初始化EFCore数据库
    AspNetCore架构图
    Linux就该这样学--之常用linux命令及bash基础
    使用gitlab构建基于docker的持续集成(三)
    使用gitlab构建基于docker的持续集成(二)
    使用gitlab构建基于docker的持续集成(一)
    使用docker-compose配置mysql数据库并且初始化用户
  • 原文地址:https://www.cnblogs.com/ismars/p/4870209.html
Copyright © 2011-2022 走看看