目标人群:没有基础的安卓初学者
知识点:在Android Studio中使用support V4包来实现下拉刷新的效果
目标:在页面上实现下拉刷新功能
support V4包的导入
SwipeRefreshLayout类的简单使用
1.首先我们需要在build.gradle中添加对support V4包的引用,代码如下
dependencies {
...
compile ‘com.android.support:support-v4:21.0.3‘
...
}
2.创建一个Activity页面并使其实现android.support.v4.widget.SwipeRefreshLayout.OnRefreshListener接口,代码如下
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.widget.SwipeRefreshLayout;
public class MainActivity extends Activity implements SwipeRefreshLayout.OnRefreshListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public void onRefresh() {
//当处于刷新状态时需要执行的加载数据代码,此处略
}
}
3.创建一个包含SwipeRefreshLayout控件的布局,代码如下
<android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/swipe_refresh_widget"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/content" />
</android.support.v4.widget.SwipeRefreshLayout>
SwipeRefreshLayout 通常作为布局中的根控件存在,但是并非是必须的
为了避免使用过程中出现异常, SwipeRefreshLayout 内部应当有子控件存在
4.回到Activity中,对SwipeRefreshLayout 进行初始化,并模拟下拉刷新的过程,代码如下:
private SwipeRefreshLayout refreshLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//下拉刷新控件
refreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_refresh_widget);
//刷新过程中的颜色展示
refreshLayout.setColorSchemeResources(R.color.red, R.color.blue, R.color.green,
R.color.yellow);
//指定接听回调接口
refreshLayout.setOnRefreshListener(this);
//文字显示控件
}
@Override
public void onRefresh() {
//延迟2000毫秒,模拟数据加载
new Handler().postDelayed(new Runnable() {
public void run() {
refreshLayout.setRefreshing(false);
Toast.makeText(MainActivity.this, "加载完成", Toast.LENGTH_LONG).show();
}
}, 2000);
}
原文:http://blog.csdn.net/duanymin/article/details/44560783