不得不说,进入了material design时代,很多app都开始用安卓原生的SwipeRefreshLayout,比如知乎,简书都是用这个简单好看的控件
最近我也试着用了一下,发现真的超级简单,它可以支持很多种子view,只要是能滚动的,比如Scrollview,ListView,GirdView。
然后我这里以ScrollView为例,因为这个比其他View更加自由
在布局中只需加入以下代码
<android.support.v4.widget.SwipeRefreshLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/srlayout">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="hello"/>
</ScrollView>
</android.support.v4.widget.SwipeRefreshLayout>
然后在Activity中也是几行代码
mSwipeRefreshLayout= (SwipeRefreshLayout) findViewById(R.id.srlayout);
//自定义加载的圆形背景颜色
mSwipeRefreshLayout.setProgressBackgroundColorSchemeResource(R.color.orange);
//自定义加载的圆条颜色
mSwipeRefreshLayout.setColorSchemeResources(R.color.blue,R.color.green,R.color.orange);
mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
//正常情况下是在加载完成后回调,这里简单模拟延时
Toast.makeText(MainActivity.this,"正在刷新",Toast.LENGTH_SHORT).show();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this,"刷新完成",Toast.LENGTH_SHORT).show();
mSwipeRefreshLayout.setRefreshing(false);
}
},6000);//6000指延时6s
}
});
有了这个下拉刷新控件,妈妈再也不用自己做的下拉刷新很丑了