android 5.0新特性学习总结之下拉刷新(一)

时间:2022-10-18 03:23:32

android 5.0 后google最终在 support v4 包下 添加了下拉刷新的控件

项目地址: https://github.com/stormzhang/SwipeRefreshLayoutDemo

android 5.0新特性学习总结之下拉刷新(一)


xml:

<android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@+id/swipe_container"

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:padding="16dp" />



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

java:

实现监听:
implements SwipeRefreshLayout.OnRefreshListener

/*
* 监听器SwipeRefreshLayout.OnRefreshListener中的方法,当下拉刷新后触发
*/
public void onRefresh() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
// 停止刷新
mSwipeLayout.setRefreshing(false);
}
}, 5000); // 5秒后发送消息,停止刷新
}

初始化下拉刷新控件

mSwipeLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_container);
mSwipeLayout.setOnRefreshListener(this);
// 设置下拉圆圈上的颜色,蓝色、绿色、橙色、红色
mSwipeLayout.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);
mSwipeLayout.setDistanceToTriggerSync(400);// 设置手指在屏幕下拉多少距离会触发下拉刷新
mSwipeLayout.setProgressBackgroundColor(R.color.red); // 设定下拉圆圈的背景
mSwipeLayout.setSize(SwipeRefreshLayout.LARGE); // 设置圆圈的大小