이번 예제는 당겨서 새로고침을 해주는 기능을 만들어보겠습니다.
새로고침 기능을 만들기 위해서는 SwipeRefreshLayout 라는 레이아웃을 사용해야합니다.
[참고]
developer.android.com/reference/androidx/swiperefreshlayout/widget/SwipeRefreshLayout?hl=ko
SwipeRefreshLayout을 사용하기 위해서는 build.gradle 파일의 의존성 설정에 추가해야 합니다.
위 사진을 참고 하셔서 build.gradle 파일에 아래 설정을 추가 하시고 Sync Now 버튼을 눌러주시면 설정 추가 됩니다.
dependencies {
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
}
그 다음 예제에 사용할 화면을 만들어보겠습니다.
<activity_main.xml>
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
android:id="@+id/swipe"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="홈 화면" />
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<MainActivity.java>
새로고침 기능을 만드려면, xml에 생성 되어있는 값을 가져와서 이벤트를 연결해 줘야하는데
스틱코드를 활용한다면, 클래스에서 'sw'까지만 작성 했을 때 '당겨서 새로고침' 이벤트가 나타납니다.
당겨서 새로고침 이벤트를 클릭하면 코드가 한 번에 작성이 되서 편리합니다.
코드 작성 밑에는 내가 넣고싶은 기능을 넣으시면 됩니다.
여기서는 화면에 보이는 텍스트를 변경하는 코드를 넣어보겠습니다.
<전체 코드 내용>
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.TextView
class MainActivity : AppCompatActivity(){
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
var swipe = findViewById<SwipeRefreshLayout>(R.id.swipe)
swipe.setOnRefreshListener {
// 코드 작성
var textView = findViewById<TextView>(R.id.textView)
textView.setText("새로고침 완료")
swipe.isRefreshing = false
}
}
}
여기까지 마치면, 마우스를 누르고 위에서 아래로 당기면 아래 사진과 같이 홈 화면 글씨가 변경되는 것을 확인하실수 있습니다.
활용한 스틱코드
당겨서 새고로침 기능 만들기) stickode.com/detail.html?no=1944
'안드로이드 코틀린' 카테고리의 다른 글
[Kotlin][Android] Lottie 스플래시(Splash)화면 만들기 (0) | 2021.04.06 |
---|---|
[Kotlin][Android] retrofit2 이용한 HTTP 통신 (0) | 2021.03.15 |
[Kotlin][Android] 안드로이드 스피너 2탄 스피너 커스텀하기 (0) | 2021.02.21 |
[Kotlin][Android]안드로이드 스피너 만들기 (0) | 2021.02.13 |
[Kotlin][Android] SQLite 를 활용한 간단 회원가입/로그인 구현 (0) | 2021.02.04 |