Android下拉刷新库使用

Android下拉刷新库使用

本文主要介绍第三方下拉刷新库PullToRefresh使用,关于这个下拉刷新库的使用介绍文章很多,本文主要针对初学者并Android开发工具eclipse做一些简单使用介绍。

相信有很多同学下载这个资源很跑不起来,这是因为你要到依赖库包括PullToRefresh和Android兼容v7库这两个看才能正常使用,至于v7库后期我会说明作用是什么。

依赖库导入

下图是导入的库:
这里写图片描述
有同学一定不会导入,好吧我也简单介绍一下,图文教程我就直接上了,
首先邮件选择import,如图:
这里写图片描述
接下来选择Android点击Existing…..这个选项
这里写图片描述
然后点击 Browse…找到依赖库的位置导入即可
这里写图片描述
记住这里依赖库位置和项目位置要保持一致不然会报错,导入完成可以看到四个文件,下拉刷新库中包括一个demo文件,下图第一个红框就是demo,可以直接运行使用
这里写图片描述

使用下拉刷新库

一共两个地方,第一个是xml文件,

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.pulltoscollview.MainActivity" >

    PullToRefreshListView这个可以换成PullToRefreshGridView,PullToRefreshHorizontalScrollView等都可以
    <com.handmark.pulltorefresh.library.PullToRefreshListView
        android:id="@+id/listView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

   </com.handmark.pulltorefresh.library.PullToRefreshListView>

</LinearLayout>

下面是java文件,

import java.util.ArrayList;
import java.util.List;

import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class MainActivity extends Activity {
    //PullToRefreshListView 这个和xml文件中<com.handmark.pulltorefresh.library.PullToRefreshListView中的PullToRefreshListView保持一直,下面有PullToRefreshListView就要和xml文件保持一致
    PullToRefreshListView lv;
    ArrayAdapter<String>adapter;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        lv=(PullToRefreshListView) findViewById(R.id.listView);
        List<String>arr=new ArrayList<String>();
        arr.add("sas");
        arr.add("ds");
        adapter=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,arr);
        lv.setAdapter(adapter);

        lv.setOnRefreshListener(new OnRefreshListener<ListView>() {

            @Override
            public void onRefresh(PullToRefreshBase<ListView> refreshView) {
                // TODO Auto-generated method stub
                new AsyncTask<Void, Void, Void>() {

                    @Override
                    protected Void doInBackground(Void... arg0) {
                        // TODO Auto-generated method stub
                        try {
                            Thread.sleep(1000);
                        } catch (InterruptedException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                        return null;
                    }

                    @SuppressLint("NewApi")
                    @Override
                    protected void onPostExecute(Void result) {
                        // TODO Auto-generated method stub
                        super.onPostExecute(result);
                        adapter.addAll("dsd","dsd");
                        lv.onRefreshComplete();
                    };

                }.execute();
            }
        });
    }


}

最后加上demo地址Android下拉刷新库使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
BGARefreshLayout包含多种下拉刷新效果、上拉加载更多、可配置自定义头部广告位 。效果图:      目前已经实现了四种下拉刷新效果:新浪微博下拉刷新风格(可设置各种状态是的文本,可设置整个刷新头部的背景)慕课网下拉刷新风格(可设置其中的logo和颜色成自己公司的风格,可设置整个刷新头部的背景)美团下拉刷新风格(可设置其中的图片和动画成自己公司的风格,可设置整个刷新头部的背景)类似qq好友列表黏性下拉刷新风格(三阶贝塞尔曲线没怎么调好,刚开始下拉时效果不太好,可设置整个刷新头部的背景)一种上拉加载更多效果新浪微博上拉加载更多(可设置背景、状态文本)开发者也可以继承BGARefreshViewHolder这个抽象类,实现相应地抽象方法做出格式各样的下拉刷新效果 【例如实现handleScale(float scale, int moveYDistance)方法,根据scale实现各种下拉刷新动画】和上拉加载更多特效,可参考 BGAMoocStyleRefreshViewHolder、BGANormalRefreshViewHolder、 BGAStickinessRefreshViewHolder、BGAMeiTuanRefreshViewHolder的实现方式。目前存在的问题当配置自定义头部广告位可滚动时,内容区域和广告位还不能平滑过度。当BGAStickyNavLayout中嵌套RecyclerView或AbsListView,并且第一页的最后一个item刚好在最底部时,加载更多视图会悬浮在最后一个item上面正在刷新或加载更多时,用户上下滑动不会让下拉刷新视图和加载更多视图跟着滑动

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值