원하는 일자만 나오고, 자연스럽게 넘어가는 선택지를 만들고 싶어서 찾아보던 중 number picker에 원하는 string 이나 값을 넣을 수 있다는 사실을 발견!
바로 테스트 해보기로 했다.
val numberPicker : NumberPicker by lazy{
findViewById(R.id.numberPicekr)
}
val values = listOf("10일","20일","30일")
numberPicker.minValue = 0
numberPicker.maxValue = values.size-1
numberPicker.wrapSelectorWheel = false
numberPicker.displayedValues = values.toTypedArray()
매우 만족스럽게 잘 나왔다 ㅎㅎ
Q1. 값은 어떻게 가지고 있을까?
선택한 값의 리턴을 보기 위해 listener를 달아보았다.
numberPicker.setOnValueChangedListener { numberPicker, i, i2 ->
Toast.makeText(this,"$i2",Toast.LENGTH_SHORT).show()
}
보여주는 값만 바뀐거고 minValue, maxValue 설정한 그대로 int값이 리턴이 된다..!
value를 숫자로 넣었으니 당연한 이야기다 ㅎㅎ
Q2. wrapSelectroWheel이 무슨 값일까?
설정하는 값 중 wrapSelectorWheel이 뭔지 궁금해졌다.
이 값을 true로 해도 false로 해도 결과값이 똑같이 나왔다.
https://developer.android.com/reference/android/widget/NumberPicker#setWrapSelectorWheel(boolean)
최소값 다음에 최대값 / 최대값 다음에 최소값 이렇게 표시가 될 지 아니면 더 이상 스크롤이 안되도록 할지의 여부였다.
값을 좀 더 넣어봤더니 하단 처럼 잘 나오기 시작했다.
값을 4개 이상 넣어야 잘 동작하는 것 같다 😃
'개발 공부 > 안드로이드' 카테고리의 다른 글
android 권한 요청 (0) | 2022.07.03 |
---|---|
android/kotlin Thread, runOnUiThread (0) | 2022.07.03 |
[android] SharedPreferences 파헤치기 (0) | 2022.04.12 |
[android] ripple drawable 버튼 클릭시 효과 (0) | 2022.04.12 |
[Android] 글자 밑줄, 기울임, 굵은꼴 (HTML 마크업 사용) / + 취소선 (0) | 2021.06.07 |