SwipeRefreshLayout是V4包下的一个组件,老版本的V4包不支持这个组件功能。因此,如果发现自己的项目中无法导入SwipeRefreshLayout的包,那么说明项目中的V4包是老版本的,需要更新才可以。
我这里下拉刷新是配合ListView来完成的。请看布局:
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/mRefreshLayout"
android:layout_width="match_parent"
android:layout_height="match_parent" > <ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:animationCache="false"
android:dividerHeight="0dp"
android:listSelector="#00000000"
android:scrollingCache="false"
android:smoothScrollbar="true" />
</android.support.v4.widget.SwipeRefreshLayout>
接下来实在代码中实现:
private SwipeRefreshLayout mRefreshLayout;// SwipeRefreshLayout下拉刷新控件
mRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.mRefreshLayout);
// 下拉刷新颜色控制
mRefreshLayout.setColorSchemeResources(R.color.swiperefresh_color1,
R.color.swiperefresh_color2, R.color.swiperefresh_color3,
R.color.swiperefresh_color4);
mRefreshLayout.setOnRefreshListener(new OnRefreshListener() { @Override
public void onRefresh() {
// 启动刷新的控件
mRefreshLayout.post(new Runnable() {
@Override
public void run() {
// 设置是否开始刷新,true为刷新,false为停止刷新
mRefreshLayout.setRefreshing(true); }
});
}
});
//停止刷新
mRefreshLayout.setRefreshing(false);