티스토리 뷰
Spinner
리스트에서 하나의 값을 선택해야해서 스피너 구조를 사용하려했다.
아래의 사진과 같이 도르륵 움직이는 아이폰 스타일의 스피너를 예상했다.
안드로이드에서 Spinner
안드로이드에서의 스피너는 드롭다운 형태로 생긴 이런 구조를 말한다.
xml에 Spinner을 넣어주고
<Spinner
android:id="@+id/birth_spinner_userinfo"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="@+id/textView26"
app:layout_constraintEnd_toEndOf="@+id/radioGroup"
app:layout_constraintStart_toStartOf="@+id/radioGroup"
app:layout_constraintTop_toTopOf="@+id/textView26" />
코드에서는 이렇게 짜줬다.
val agelist = Array(100, {i -> i+1900})
birth_spinner_userinfo.adapter = ArrayAdapter(requireContext(), android.R.layout.simple_spinner_dropdown_item, agelist)
birth_spinner_userinfo.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onNothingSelected(p0: AdapterView<*>?) {
println("선택해주세요")
}
override fun onItemSelected(p0: AdapterView<*>?, p1: View?, position: Int, p3: Long) {
println("${position+1900}")
}
}
이 스피너로 태어난 해를 고르게 할 목적이기 때문에 agelist는 1900~2000으로 채워줬다.
(숫자는 numberPicker을 사용하는게 아무래도 더 편한것같다는 생각을..)
에뮬레이터가 작아서 화면에 튀어나오게 보이지만 실제 휴대폰으로 테스트해봤을때 이상하지 않은 모양으로 나왔다.
NumberPicker 구현하기
물론 안드로이드에서도 위의 아이폰 스타일의 스피너를 구현할 수 있다. NumberPicker을 커스텀해서 사용하면 된다.
사용 방법은 전에 작성한 포스팅에 정리해놨다.
[Android][Kotlin] NumberPicker로 custom datePickerDialog 만들기
안드로이드 기본 datePicker를 사용하려다가 1. 디자인이 마음에 들지 않는다 2. 연/월 만 필요하다 라는 이유로 numberPicker을 활용해 커스텀 datePicker을 만들었다. 안드로이드 기본 datePickerDialog 소스..
yuuj.tistory.com
+ bottom sheet 추가하기
참고한 포스팅
developer.android.com/guide/topics/ui/controls/spinner?hl=ko
스피너 | Android 개발자 | Android Developers
스피너는 값 집합에서 하나의 값을 선택할 수 있는 빠른 방법을 제공합니다. 기본 상태의 스피너는 현재 선택된 값을 표시합니다. 스피너를 터치하면 기타 모든 사용 가능한 값을 포함하는 드롭
developer.android.com
bite-sized-learning.tistory.com/214
[2020 안드로이드 스튜디오] 스피너 (spinner) 사용 예제
[ 2020 안드로이드 스튜디오 ] 스피너 (spinner) 사용 예제 Android Studio Version 3.6.3 사용언어 JAVA 스피너를 사용하면 선택하기 전 View1과 선택하는 중 View2가 있습니다. 하지만 SDK에서 미리 만..
bite-sized-learning.tistory.com
- Total
- Today
- Yesterday
- 백준 1644
- flutter simultor
- 코틀린 리스트뷰
- 카카오톡으로 로그인 오류
- 시뮬레이터 키보드
- counting sort
- 백준알고리즘
- 백준 1806
- 투포인터 알고리즘
- 전화번호목록 파이썬
- 코틀린 뷰페이저
- 카카오 기출
- 코틀린 바텀네비게이션
- 코틀린 데이터바인딩
- 코틀린 뷰바인딩
- 백준
- kotlin fragment
- 데이터바인딩 뷰바인딩 차이
- 프로그래머스
- 투포인터 알고리즘 파이썬
- 코틀린
- TextFormField keyboard
- 안드로이드 키해시
- 소수 구하기 파이썬
- 안드로이드 카카오톡으로 로그인
- 안드로이드
- 카카오 키해시
- 파이썬 최대공약수
- 백준 2003
- Kotlin
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |