안드로이드 개발 중 자주 쓰는 기능 정리

hyihyi·2024년 2월 2일
1

TIL

목록 보기
46/69
post-thumbnail

🎮 최상단으로 이동하는 기능

누르자마자 최상단 이동

binding.floatingBtn.setOnClickListener {
	binding.rvImage.scrollToPosition(0)
}

부드럽게 최상단으로 이동

binding.floatingBtn.setOnClickListener {
	binding.rvImage.smoothScrollToPosition(0)
}

🎮 검색기능이 있는 키보드 사용

<EditText
    android:id="@+id/tvSearchString"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:imeOptions="actionSearch"
    android:inputType="text" />

🎮 Snackbar

Snackbar 함수 생성

Snackbar를 편하기 사용하기 위한 함수 생성

private fun showSnackBar(message: Int) {
   Snackbar.make(
   		binding.root,
   		getString(message),
   		Snackbar.LENGTH_SHORT
    ).show()
}

사용하기

사용하기 전에 string.xml에 추가

<string name="login_success">로그인에 성공하였습니다.</string>

showSnackBar에 문자열 넣고 사용하면 된다.

showSnackBar(R.string.login_success)

🎮 SnapHelper

리사이클러뷰의 각 항목 단위로 스크롤할 수 있게 해주는 기능

private val pagerSnapHelper = PagerSnapHelper()
pagerSnapHelper.attachToRecyclerView(binding.rvPlaceMap)

PagerSnapHelper 객체를 초기화하고 attachToRecyclerView 함수의 인자로 RecyclerView와 연결시키면 된다.

🎮 RecyclerView 스크롤 효과 제거

위의 스크롤 효과를 제거하려면 아래의 코드를 적용하면 된다.
android:overScrollMode="never"

RecyclerView뿐만아니라 ViewPager, ListView, Nestedscrollview 에서도 적용할 수 있다.

🎮 시간 계산하는 함수

시작 시간

val startTime = System.nanoTime()

끝 시간

val endTime = System.nanoTime()

시간 계산

val duration = (endTime - startTime)

예시

fun set(){
    val set = (1..1000).toSet()

    val startTime = System.nanoTime()
    val existSet = 1 in set
    val endTime = System.nanoTime()

    val duration = (endTime - startTime)
    println("Set Execution time: $duration ms")
}
profile
자유롭게 쓴 나의 자유로운 Development voyage⛵

0개의 댓글