android知乎小圆圈刷新效果

时间:2021-01-16 01:49:20

前几天看到包括知乎在内的很多应用都使用到了一种小圆圈划动刷新的效果,仔细查了一下,原来是android v7包里面最新的刷新效果。使用起来也是十分简单的。

首先先建立一个activity,在布局文件里面这样写:

 <android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/sr"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ListView
android:id="@+id/li_main"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</ListView>
</android.support.v4.widget.SwipeRefreshLayout>

相当于把要刷新的内容放在SwipeRefreshLayout控件里面。然后在activity里面设置一下颜色和刷新的监听事件就行了:

   @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
list_main = (ListView) findViewById(R.id.li_main);
sr = (SwipeRefreshLayout) findViewById(R.id.sr);
sr.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);
sr.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
reflesh();
sr.setRefreshing(false);
}
}); }
 private void init(){
list = new ArrayList<>();
String[] args = {"000000000000", "111111111", "222222222222", "3333333333333", "444444444444444444", "555555555555555555", "6666666666666666", "77777777777777777"};
for(String a:args){
list.add(a);
}
}

下面就是粗略的效果:

android知乎小圆圈刷新效果

下面是demo的地址:http://files.cnblogs.com/files/lout/zhihufresh.zip