Android Kotlin 데이터 로딩 화면

이성진·2023년 10월 24일
0

TIL

목록 보기
56/95

안드로이드 코틀린에서 ProgressBar를 이용한 데이터 로딩 화면 구현하기

데이터를 로드하는 동안 사용자에게 로딩 중임을 알려주는 것은 사용자 경험(UX)에 있어서 중요한 부분입니다. 이번에는 안드로이드에서 RecyclerView 위에 ProgressBar를 표시하며 , API 호출시 ProgressBar를 활성화 / 비활성화 하는 방법에 대해 알아보겠습니다.

  • XML 레이아웃 구성

    먼저 , RecyclerView 와 ProgressBar를 함께 포함하는 XML 레이아웃을 만듭니다. RelativeLayout를 사용하여 ProgressBar를 RecyclerView의 중앙에 위치시킬 수 있습니다.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent">

   <androidx.recyclerview.widget.RecyclerView
       android:id="@+id/my_recyclerview"
       android:layout_width="match_parent"
       android:layout_height="match_parent" />

   <ProgressBar
       android:id="@+id/progress_bar"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_centerInParent="true"
       android:visibility="gone" />

</RelativeLayout>
  • ProgressBar 제어 메서드

showProgressBar 라는 함수를 생성하여 ProgressBar의 표시 여부와 함께 RecyclerView의 가시성도 제어합니다.
이렇게 하면 ProgressBar가 활성화될때 RecyclerView가 숨겨져 더욱 직관적인 로딩 화면을 제공할 수 있습니다.

private fun showProgressBar(show: Boolean) {
    binding.progressBar.visibility = if (show) View.VISIBLE else View.GONE
    binding.tourRecyclerview.visibility = if (show) View.GONE else View.VISIBLE
}
  • API 호출시 ProgressBar 활성화

API를 호출하기 전에는 showProgressBar(true)를 사용하여 ProgressBar를 활성화합니다.

  • API 호출시 ProgressBar 비활성화

데이터 로딩이 완료되면 showProgressBar(false)를 호출하여 ProgressBar를 숨기고 RecyclerView를 다시 표시합니다.

결론: ProgressBar를 사용하면 사용자에게 앱이 아직 작업 중임을 알릴 수 있습니다. 이를 통해 사용자는 데이터가 아직 로드 중임을 알 수 있으므로 앱의 반응성이 떨어진다고 느끼지 않게 됩니다.

profile
2023.08 ~ Android Kotlin 공부

0개의 댓글