본문 바로가기

안드로이드

[Android studio] NumberPicker 스크롤 리스너 사용하기

728x90

 오늘은 Android Studio 의 NumberPicker의 리스너를 포스팅해보겠습니다. 

 

layout에 요런식으로 numberPicker 생성을 하고 데이터를 넣어줬다고 생각을 하고 포스팅을 하겠습니다. 

<NumberPicker
    android:id="@+id/np_date_picker"
    android:layout_width="@dimen/match_constraint"
    android:layout_height="wrap_content"
    android:layout_marginEnd="@dimen/size20"
    android:theme="@style/numberPickerTheme"/>

 

아주 간단합니다!  이렇게 초기화를 해주고 

val np = findViewById<NumberPicker>(R.id.np_date_picker)

NumberPicker 의 value 가 바뀔때의 리스너입니다. 스피너가 돌면서 데이터가 바뀔때 마다 호출이 됩니다. 

 

 np.setOnValueChangedListener { picker, oldVal, newVal ->
            
}

 

 

 다음은 NumberPicker 의 스크롤 리스너입니다. 

np.setOnScrollListener { picker, state ->
    when (state) {
      SCROLL_STATE_FLING -> {}
      SCROLL_STATE_TOUCH_SCROLL -> {}
      SCROLL_STATE_IDLE -> {}
    }
}

SCROLL_STATE_IDLE : 스크롤이 정지되어 있는 상태
SCROLL_STATE_TOUCH_SCROLL : 스크롤이 터치되어 있을 때 상태
SCROLL_STATE_FLING : 이건 스크롤이 움직이고 있을때 상태

 

입니다. 각 상태에 맞춰서 리스너를 사용하면 될 것 같습니다 . 이상입니다!