Android API 19以上版本自带的下拉刷新控件SwipeRefreshLayout的使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liuwan1992/article/details/52832533

        在 Android SDK 19.1 以上版本中,支持一个新的控件 SwipeRefreshLayout 下拉刷新的布局,继承自 ViewGroup ,在 support 

v4 兼包下。下面来看一下效果图,由于电脑不能截动图,我还在网上找了的一张动图,实际效果可能会受手机系统影响,我在真

上测试下拉时显示的是一个类似 ProgressDialog 的效果。

    

先看一下布局文件:

        <android.support.v4.widget.SwipeRefreshLayout
            android:id="@+id/swipeRefresh"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <ListView
                android:id="@+id/listView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#FFFFFF"
                android:divider="#F0F0F0"
                android:dividerHeight="5dp">

            </ListView>

        </android.support.v4.widget.SwipeRefreshLayout>

        使用 SwipeRefreshLayout 很简单,直接引用 support v4 包下的 SwipeRefreshLayout 控件,再在 SwipeRefreshLayout 里面放入

想要刷新的控件,注意这里要是可以滚动的 View ,如 ScrollView 或 ListView 。

        SwipeRefreshLayout 的主要方法如下:

        setOnRefreshListener(new OnRefreshListener(){ }) :为布局添加一个 Listener。

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

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

        setColorSchemeColors() :设置进度条的颜色主题,最多能设置四种。

实现代码如下:

        swipeRefresh = (SwipeRefreshLayout) findViewById(R.id.swipeRefresh);
        swipeRefresh.setColorSchemeColors(Color.BLUE, Color.RED, Color.GREEN, Color.YELLOW);
        swipeRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            @Override
            public void onRefresh() {
                new Handler().postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        swipeRefresh.setRefreshing(false);
                    }
                }, 5000);
            }
        });


完整源码


猜你喜欢

转载自blog.csdn.net/liuwan1992/article/details/52832533