首页 > 系统 > Android > 正文

Android SwipeRefreshLayout下拉刷新源码解析

2019-12-12 04:47:05
字体:
来源:转载
供稿:网友

本文实例为大家分享了SwipeRefreshLayout下拉刷新源码,供大家参考,具体内容如下

1.SwipeRefreshLayout是Google在support v4 19.1版本的library更新的一个下拉刷新组件,实现刷新效果更方便。

弊端:只有下拉

//设置刷新控件圈圈的颜色swipe_refresh_layout.setColorSchemeResources(android.R.color.holo_blue_light, android.R.color.holo_orange_light, android.R.color.holo_red_light, android.R.color.holo_green_light);//设置刷新控件背景色swipe_refresh_layout.setProgressBackgroundColorSchemeColor(getResources().getColor(android.R.color.white));//设置滑动距离swipe_refresh_layout.setDistanceToTriggerSync(100);//设置大小模式swipe_refresh_layout.setSize(SwipeRefreshLayout.DEFAULT);//设置下拉刷新控件状态隐藏swipe_refresh_layout.setRefreshing(false);  

2.在xml文件中引用android.support.v4.widget.SwipeRefreshLayout控件,在里面可以放置任何一个控件,例如ListView,gridview等。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="match_parent"  android:layout_height="match_parent" >   <android.support.v4.widget.SwipeRefreshLayout   android:id="@+id/id_swipe_ly"   android:layout_width="match_parent"   android:layout_height="match_parent" >    <ListView    android:id="@+id/id_listview"    android:layout_width="match_parent"    android:layout_height="match_parent" >   </ListView>  </android.support.v4.widget.SwipeRefreshLayout>  </RelativeLayout> 

3.Java代码

public class MainActivity extends Activity implements SwipeRefreshLayout.OnRefreshListener {  private SwipeRefreshLayout swipeLayout; private ListView listView; private ListViewAdapter adapter; private List<ItemInfo> infoList;   @Override protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);   swipeLayout = (SwipeRefreshLayout) this.findViewById(R.id.swipe_refresh);  swipeLayout.setOnRefreshListener(this);     // 顶部刷新的样式  swipeLayout.setColorScheme(android.R.color.holo_red_light, android.R.color.holo_green_light,    android.R.color.holo_blue_bright, android.R.color.holo_orange_light);   infoList = new ArrayList<ItemInfo>();  ItemInfo info = new ItemInfo();  info.setName("coin");  infoList.add(info);  listView = (ListView) this.findViewById(R.id.listview);  adapter = new ListViewAdapter(this, infoList);  listView.setAdapter(adapter); }  public void onRefresh() {  new Handler().postDelayed(new Runnable() {   public void run() {    swipeLayout.setRefreshing(false);    ItemInfo info = new ItemInfo();    info.setName("coin-refresh");    infoList.add(info);    adapter.notifyDataSetChanged();   }  }, 500); }}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表