プルトゥリフレッシュをAndroidに実装しようとしています。 SwipeRefreshLayout
があることは知っていますが、Lollipop用のドライブ(添付を参照)などの新しく設計されたすべてのGoogleアプリでは、引っ張るとビューに表示される新しい更新アイコンがあることに気付きました。オンラインで探してみましたが、無駄でした。 Androidはマテリアルデザインの一部としてこれをリリースしましたか?それを実装する方法についてのアイデアはありますか?
編集:一部の人々は、これが Pull-to-refreshの実装方法 の複製であることを指摘しています。同じ質問ではありません。質問を適切に読めば表示されます。
これはSwipeRefreshLayout
です。サポートライブラリのバージョン21には、古いスタイルを置き換えるものが含まれています。
詳細なガイドはここにあります: http://antonioleiva.com/swiperefreshlayout/
さらに、ListViewの場合、コメントでcanChildScrollUp()について読むことをお勧めします;)
私はこのガイドが一番好きで、本当に分かりやすいです: https://www.bignerdranch.com/blog/implementing-swipe-to-refresh/
次をgradleに追加します。
compile 'com.Android.support:support-v4:22.2.0'
スワイプを追加してレイアウトを更新します-swiperefreshlayoutの中央にリストビューまたはリサイクラービューを配置します。
<ListView
Android:id="@+id/activity_main_listview"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
>
</ListView>
</Android.support.v4.widget.SwipeRefreshLayout>
メインアクティビティのコードを追加します。
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>(){
String[] fakeTweets = getResources().getStringArray(R.array.fake_tweets);
mAdapter = new ArrayAdapter<String>(this, Android.R.layout.simple_list_item_1, fakeTweets)
listView.setAdapter(mAdapter);
});
}
}
MSwipeRefreshLayout.setRefreshing(false);を呼び出すことを忘れないでください。リフレッシュが終了したら。
こんにちは、このような種類のレイアウトを開発したくない場合は、このURLをフォローしてください。