PullToRefresh

PullToRefresh

2017/10/18 10:16:13


下载

git clone https://github.com/chrisbanes/Android-PullToRefresh.git

使用

  1. 复制Library到没有中文的路径
  2. 重命名
  3. Android Studio 导入Module

步骤

  • 下载解压

  • 放到本地没有中文的路径并且重命名

-Android Studio 选择导入Moudle

  • 选择路径

  • finish

  • 错误 点击蓝色文字安装

  • 下载中

  • 下载完成

  • 结构

  • 选择Project Structure

  • 添加Moudle为依赖

  • ok

  • 可以看到已经添加Moulder为依赖

类说明

PullToRefreshListView

  • 可以刷新的listView控件,间接继承了LinearLayout,是一个自定义的listView

PullToRefreshGridView

  • 可以刷新的GridView控件

PullToRefreshExpandableListView

  • 可以刷新的二级列表控件

PullToRefreshScrollView

  • 可以刷新的ScrollView控件

PullToRefreshWebView

  • 可以刷新的WebView控件

属性详解

  • PullToRefreshListView

    ptr:ptrDrawable 是指定刷新时显示的图片
    ptr:ptrAnimationStyle 指定刷新的图片以何种方式显示出来,
    ptr:ptrHeaderBackground 指定刷新时头部的背景,
    ptr:ptrHeaderTextColor 指定刷新时头部字体的颜色
    ptr:ptrHeaderBackground 刷新的背景颜色
    

案例

主要代码

private ILoadingLayout startLabels;

//设置刷新模式
//设置pullToRefreshListView的刷新模式
//BOTH代表支持上拉和下拉
//PULL_FROM_END代表上拉
//PULL_FROM_START代表下拉 
pull_refresh_list.setMode(PullToRefreshBase.Mode.BOTH);

//通过getLoadingLayoutProxy 方法来指定上拉和下拉时显示的状态的区别(也就是设置向下拉的时候头部里面显示的文字)
//此时这里设置的是下拉刷新的时候显示的文字,所以第一个设置true表示现在是刷新,第二个设置为false
startLabels = pull_refresh_list.getLoadingLayoutProxy(true, false);
startLabels.setPullLabel("下拉刷新");
startLabels.setRefreshingLabel("正在刷新...");
startLabels.setReleaseLabel("放开刷新");

ILoadingLayout endLabels = pull_refresh_list.getLoadingLayoutProxy(false, true);
endLabels.setPullLabel("上拉刷新");
endLabels.setRefreshingLabel("正在载入...");
endLabels.setReleaseLabel("放开刷新...");


//设置刷新的时间....
startLabels.setLastUpdatedLabel("上次更新时间:" + new SimpleDateFormat("HH:mm").format(new Date(System.currentTimeMillis())));//last最近的,最后一次update修改/更新

//停止刷新
pull_refresh_list.onRefreshComplete();

带轮播图刷新

布局文件





    

        

            

            


            

            


            

            


        


    



如果用GridView或者ListView只能加载一条数据,所以需要自定义一个GridView继承GridView

public class MyGridView extends GridView {
    public MyGridView(Context context) {
        super(context);
    }

    public MyGridView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public MyGridView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    //重写此方法
    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
        super.onMeasure(widthMeasureSpec, expandSpec);
    }
}

你可能感兴趣的:(Android)