经验总结-SwipeRefreshLayout控件的简单使用

来源:互联网 发布:请假流程数据库设计 编辑:程序博客网 时间:2024/06/05 14:34

现在Android开发项目中大多都会用到下拉和上拉刷新,现在开始我对这个控件的一些总结:


下拉刷新经常会用到,谷歌官方也推出了自己的下拉刷新控件SwipeRefreshLayout,使用也非常简单,直接在Listview,Gridview等外层嵌套android.support.v4.widget.SwipeRefreshLayout即可。需要注意的是现在需要导入兼容的v7,v4包。谷歌最新下拉刷新控件样式由原来的横线样式变成了圆圈样式,而且下拉时页面不再向下滑动,个人感觉比以前还是好看些。旧版下拉刷新横线样式和新版下拉刷新圆圈样式的两种效果的代码完全相同,不同的只是兼容的v7,v4包,现在只需下载最新的v7兼容包就可以实现圆圈样式的下拉刷新。现在用Android studio创建项目都会默认添加v7包依赖,都不用我们自己在单独去下载v7包了,如下

dependencies {

   ...

   compile 'com.android.support:appcompat-v7:25.3.1'

   ...

}

 

插入代码,展示SwipeRefreshLayout的简单使用:

1.xml

<android.support.v4.widget.SwipeRefreshLayout       xmlns:android="http://schemas.android.com/apk/res/android"        xmlns:tools="http://schemas.android.com/tools"        android:id="@+id/swipeRefreshLayout"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:orientation="vertical" >            <ListView            android:id="@+id/listview"            android:layout_width="match_parent"            android:layout_height="match_parent">        </ListView>        </android.support.v4.widget.SwipeRefreshLayout> 

2.java

package com.example.swiperefreshdemo;        import java.util.ArrayList;    import java.util.List;    import java.util.Random;        import android.app.Activity;    import android.os.Bundle;    import android.os.Handler;    import android.support.v4.widget.SwipeRefreshLayout;    import android.support.v4.widget.SwipeRefreshLayout.OnRefreshListener;    import android.widget.ArrayAdapter;    import android.widget.ListView;        public class MainActivity extends Activity {        private SwipeRefreshLayout swipeRefreshLayout;        private ListView listView;        private List<String> data;        private ArrayAdapter<String> adapter;            @Override        protected void onCreate(Bundle savedInstanceState) {            super.onCreate(savedInstanceState);            setContentView(R.layout.activity_main);                        initView();        }            private void initView() {            // TODO Auto-generated method stub            listView=(ListView) findViewById(R.id.listview);            data=new ArrayList<String>();            for (int i = 1; i <= 50; i++) {                data.add("我是测试item:" + i);            }            adapter=new ArrayAdapter<String>(getApplicationContext(), R.layout.my_list_simple_item1,data);            listView.setAdapter(adapter);                        //下拉刷新部分            swipeRefreshLayout=(SwipeRefreshLayout) findViewById(R.id.swipeRefreshLayout);            //设置卷内的颜色            swipeRefreshLayout.setColorSchemeResources(android.R.color.holo_blue_bright,                    android.R.color.holo_green_light, android.R.color.holo_orange_light, android.R.color.holo_red_light);            //设置下拉刷新监听            swipeRefreshLayout.setOnRefreshListener(new OnRefreshListener() {                                @Override                public void onRefresh() {                    // TODO Auto-generated method stub                    new Handler().postDelayed(new Runnable() {                                                @Override                        public void run() {                            data.add(0, "添加新的item:" + new Random().nextInt());                            adapter.notifyDataSetChanged();                            //停止刷新动画                            swipeRefreshLayout.setRefreshing(false);                        }                    }, 2000);                }            });        }        }

还是比较简单的,就不多做介绍了。该控件对象的主要方法有:

setOnRefreshListener(OnRefreshListener): 刷新监听

setRefreshing(boolean): 显示或隐藏刷新进度条

isRefreshing(): 检查是否处于刷新状态

setColorScheme(): 设置进度条的颜色,最多能设置四种

还有很多方法,大家可以在开发工具中通过对象.set()的小技巧来查看SwipeRefreshLayout控件对象的相关方法。

  好了,这篇博客就写这么多了,下一次我将会写一篇关于RecyclerView和SwipeRefreshLayout的下拉和上拉刷新总结,因为RecyclerView的口碑很不错,我也很期待。

阅读全文
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 淘宝收不到卖家的信息怎么办 不小心把微信聊天记录删掉了怎么办 不小心把打印机驱动删除了怎么办 蓝牙不小心点到忽略此设备怎么办 千牛工作台无线开店确认不了怎么办 开通诚信通后营业执照注销了怎么办 淘宝标的货跟发的不一样怎么办 wps表格里单元之间重叠了怎么办 淘宝店铺停了一段时间没了怎么办 转转买家收货为敲诈卖家怎么办 淘宝被投诉盗用官网图片怎么办 淘宝订单买下后卖家告知无货怎么办 盗图被删除还是待处理违规该怎么办 如果买家说你们的买家秀一样怎么办 花呗唤起安全核身验证失败怎么办 淘宝买东西花呗分期额度不够怎么办 支付宝余额支付额度已达上限怎么办 我是淘宝卖家遇到无良买家怎么办 我的保证金被淘宝当做违约金怎么办 淘宝顾客不想退货申请仅退款怎么办 被买家提供证明说我卖假货怎么办 淘宝退货快递公司填错了俩次怎么办 淘宝上退货把运单号写错了怎么办? 阿里巴巴发货了快递单号掉了怎么办 淘宝上买东西货物被物流扣留怎么办 淘宝买错了对方已发货怎么办 淘宝卖家发货的时候没货了怎么办 买了球显示未出票中奖了怎么办 点错了允许易企秀获得权限怎么办 淘宝还没发货商家拒绝退款怎么办 买家不补邮费还要你发货怎么办 天猫客服提示获取信息失败怎么办 拼多多下单了商家不发货怎么办 店铺扣2分宝贝降权了怎么办 淘宝店没订单没流量怎么办啊 淘宝id账号登录密码忘记了怎么办 淘宝网店铺授权客服联系不上怎么办 卖家发货买家查不到物流信息怎么办 物流信息到了但东西没到怎么办 淘宝详情已更改对方恶意投诉怎么办 淘宝店写的不给退换怎么办