【Kotlin/Android】Pull to Refresh(プルリフ)の実装方法!SwipeRefreshLayout

この記事からわかること
- Android Studio/KotlinでPull to Refresh(プルリフ)を実装する方法
- SwipeRefreshLayoutの使い方
- ScrollViewやRecyclerViewをスワイプで更新するには?
- インジケータの色や背景色を追加する
index
[open]
\ アプリをリリースしました /
環境
- Android Studio:Flamingo
- Kotlin:1.8.20
Pull to Refresh(プルリフ)とは?
Pull to Refresh(プルリフレッシュ)とは画面上のコンテンツを上から下に引っ張ってコンテンツを更新する操作のことです。主にScrollView
やRecyclerView
などのUIコンポーネントで使用されます。

プルリフレッシュを実装する手順
Kotlinでプルリフレッシュを実装するためにはSwipeRefreshLayout
をプルリフレッシュを実装したいViewの親に設置します。SwipeRefreshLayout
を使用するためには
- SwipeRefreshLayoutの導入
- SwipeRefreshLayoutをScrollViewなどの親に設置
- Kotlinでプルリフレッシュ時の処理などを定義
SwipeRefreshLayoutの導入
SwipeRefreshLayout
を使用できるようにするにはAndroidX Legacy Supportライブラリを導入する必要があります。「build.gradle(app)」の中に以下を追加します。
SwipeRefreshLayoutをScrollViewなどの親に設置
プルリフレッシュ機能を実装したいViewの親にSwipeRefreshLayout
を設置します。
Kotlinでプルリフレッシュ時の処理などを定義
レイアウトファイルに設置しただけではローディング処理は走りますが、ローディングが終了せず、更新処理も走りません。そのためにはsetOnRefreshListener
メソッドで更新処理を定義して最後にsetRefreshing
メソッドにfalse
を渡せばローディングが終了します。

インジケータの色を変更する
表示されるインジケータの色を変更するにはsetColorSchemeColors
メソッドを使用し、背景色を変更するにはsetProgressBackgroundColorSchemeColor
メソッドを使用します。
iOSの実装はこちら
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。