Android官方下拉刷新控件SwipeRefreshLayout

举报
yechaoa 发表于 2022/05/31 01:11:19 2022/05/31
【摘要】 SwipeRefreshLayout是Google提供的一个官方的下拉刷新控件,比传统的使用起来更简易。 效果图: 主要方法: OnRefreshListener:刷新监听,下拉触发。setRefreshing(true):设置刷新动画,取消传false。 setColorSchemeResources:设置刷新时动画的...

SwipeRefreshLayout是Google提供的一个官方的下拉刷新控件,比传统的使用起来更简易。

效果图:


主要方法:

  • OnRefreshListener:刷新监听,下拉触发。
  • setRefreshing(true):设置刷新动画,取消传false。
  • setColorSchemeResources:设置刷新时动画的颜色。
1.布局文件
SwipeRefreshLayout是V4包下提供的,使用时需要把要刷新的控件包裹起来。

   
  1. <android.support.v4.widget.SwipeRefreshLayout
  2. android:id="@+id/swipRefreshLayout"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent" >
  5. <ListView
  6. android:id="@+id/listview"
  7. android:layout_width="match_parent"
  8. android:layout_height="match_parent" >
  9. </ListView>
  10. </android.support.v4.widget.SwipeRefreshLayout>
2.Activity

   
  1. package com.bestyc.swiperefreshlayout;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import com.bestyc.swiperefreshlayout.R;
  5. import android.app.Activity;
  6. import android.os.Bundle;
  7. import android.os.Handler;
  8. import android.support.v4.widget.SwipeRefreshLayout;
  9. import android.support.v4.widget.SwipeRefreshLayout.OnRefreshListener;
  10. import android.view.Window;
  11. import android.widget.ArrayAdapter;
  12. import android.widget.ListView;
  13. public class MainActivity extends Activity implements OnRefreshListener{
  14. private ListView mListView;
  15. private ArrayAdapter<String> adapter;
  16. private List<String> mData;
  17. private SwipeRefreshLayout mSwipeRefreshLayout;
  18. Handler handler = new Handler(){
  19. public void handleMessage(android.os.Message msg) {
  20. //关闭刷新
  21. mSwipeRefreshLayout.setRefreshing(false);
  22. mListView.setAdapter(adapter);
  23. };
  24. };
  25. @Override
  26. protected void onCreate(Bundle savedInstanceState) {
  27. super.onCreate(savedInstanceState);
  28. requestWindowFeature(Window.FEATURE_NO_TITLE);
  29. setContentView(R.layout.activity_main);
  30. mSwipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipRefreshLayout);
  31. mSwipeRefreshLayout.setOnRefreshListener(this);
  32. //设置刷新时的颜色
  33. mSwipeRefreshLayout.setColorSchemeResources(
  34. android.R.color.holo_blue_bright,
  35. android.R.color.holo_green_light,
  36. android.R.color.holo_orange_light);
  37. mListView=(ListView) findViewById(R.id.listview);
  38. mData = new ArrayList<String>();
  39. for (int i=0;i<=10;i++) {
  40. mData.add("加载的数据"+i);
  41. }
  42. adapter = new ArrayAdapter<String>(this, R.layout.item, R.id.text,mData);
  43. }
  44. @Override
  45. public void onRefresh() {//更新数据
  46. handler.sendEmptyMessageDelayed(1, 3000);
  47. }
  48. }

源码下载地址:https://github.com/yechaoa/SwipeRefreshLayout



文章来源: blog.csdn.net,作者:yechaoa,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/yechaoa/article/details/52454672

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。