前几天看到包括知乎在内的很多应用都使用到了一种小圆圈划动刷新的效果,仔细查了一下,原来是android v7包里面最新的刷新效果。使用起来也是十分简单的。
首先先建立一个activity,在布局文件里面这样写:
1 <android.support.v4.widget.SwipeRefreshLayout 2 android:id="@+id/sr" 3 android:layout_width="match_parent" 4 android:layout_height="wrap_content"> 5 <ListView 6 android:id="@+id/li_main" 7 android:layout_width="match_parent" 8 android:layout_height="wrap_content"> 9 </ListView> 10</android.support.v4.widget.SwipeRefreshLayout>
相当于把要刷新的内容放在SwipeRefreshLayout控件里面。然后在activity里面设置一下颜色和刷新的监听事件就行了:
1 @Override 2 protected void onCreate(Bundle savedInstanceState) { 3 super.onCreate(savedInstanceState); 4 setContentView(R.layout.activity_main); 5 init(); 6 list_main = (ListView) findViewById(R.id.li_main); 7 sr = (SwipeRefreshLayout) findViewById(R.id.sr); 8 sr.setColorSchemeResources(android.R.color.holo_blue_bright, 9 android.R.color.holo_green_light, 10 android.R.color.holo_orange_light, 11 android.R.color.holo_red_light); 12 sr.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { 13 @Override 14 public void onRefresh() { 15 reflesh(); 16 sr.setRefreshing(false); 17 } 18 }); 19 20 }
1 private void init(){ 2 list = new ArrayList<>(); 3 String[] args = {"000000000000", "111111111", "222222222222", "3333333333333", "444444444444444444", "555555555555555555", "6666666666666666", "77777777777777777"}; 4 for(String a:args){ 5 list.add(a); 6 } 7 }
下面就是粗略的效果:
下面是demo的地址:https://files.cnblogs.com/files/lout/zhihufresh.zip