Android Lollipop – 拉动刷新

我正在尝试在Android中实现pull-to-refresh。 我知道有SwipeRefreshLayout但是对于Lollipop的所有新设计的Google应用程序(如Drive(见附件)),我注意到拉出时视图中会出现一个新的刷新图标。 我尝试在线查看,但徒劳无功。 Android是否已将此作为Material Design的一部分发布? 关于如何实现它的任何想法?

编辑:有些人已经指出这是如何实现拉动刷新的重复。 这不是同一个问题。 如果你正确地阅读了这个问题,你会看到它。

在此处输入图像描述

Related of "Android Lollipop – 拉动刷新"

这是SwipeRefreshLayout 。 支持库的第21版包括它取代旧样式。

  1. 下载最新的Lollipop SDK和Extras / Android支持库
  2. 将Project的Build Target设置为Android 5.0(否则支持包可能会出现资源错误)
  3. 将您的libs / android-support-v4.jar更新为第21版
  4. 使用android.support.v4.widget.SwipeRefreshLayout加上android.support.v4.widget.SwipeRefreshLayout.OnRefreshListener

详细指南可以在这里find: http : //antonioleiva.com/swiperefreshlayout/

另外对于ListView我建议在评论中阅读canChildScrollUp();)

我最喜欢这本指南,它很容易理解: https : //www.bignerdranch.com/blog/implementing-swipe-to-refresh/

  1. 将以下内容添加到gradle:

    compile 'com.android.support:support-v4:22.2.0'

  2. 添加滑动以刷新到您的布局 – 在swiperefreshlayout的中间放入listview或recyclerview:

         
  3. 在主代码的代码中添加:

     public class MainActivity extends Activity { ListView mListView; SwipeRefreshLayout mSwipeRefreshLayout; Adapter mAdapter; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.acivity_main); SwipeRefreshLayout mSwipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.activity_main_swipe_refresh_layout); mListView = findViewById(R.id.activity_main_list_view); mListView.setAdapter(new ArrayAdapter(){ String[] fakeTweets = getResources().getStringArray(R.array.fake_tweets); mAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, fakeTweets) listView.setAdapter(mAdapter); }); } 

    }

  4. 别忘了调用mSwipeRefreshLayout.setRefreshing(false); 一旦你的清爽结束。

嗨,如果你不想开发这样的布局,那么请按照这个url,我用它是一个很棒的。

https://github.com/stormzhang/SwipeRefreshLayoutDemo