와챠의 우당탕탕 코딩 일기장
[Android/Kotlin]Spinner hint/Spinner underline 본문
반응형
아래 화면은 '동네 고영희' 앱 UI입니다!!!
결과 화면
스피너 밑줄 만들기:
아래 코드를 xml에서 spinner에 추가해주면 됨
style="@style/Widget.AppCompat.Spinner.Underlined"
스피너에 힌트 만들기:
1, 배열의 맨 마지막에 hint를 넣고
2, 스피너 아이템의 갯수에서 -1을 리턴하게 한 후에
3, hint를 스피너의 초기값으로 지정해주면 된다.
그러면 위의 사진과 같이 마지막 아이템이 hint처럼 보이게 된다.
1, res>values>spinner_array.xml에 스피너 배열 추가!
이때 hint도 배열의 맨 마지막에 넣어주어야 한다.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!--추정 나이 스피너 배열-->
<string-array name="cat_add2_age_array">
<item>1살 미만</item>
<item>2살</item>
<item>3살</item>
<item>4살</item>
<item>5살 이상</item>
<item>모름</item>
<item>고양이 나이 선택</item> <!--hint-->
</string-array>
</resources>
2, 스피너의 아이템 갯수가 -1이 되도록 설정한다.
3, 스피너의 초기값을 hint로 지정하는 것도 함께 했다.
// 추정 나이 선택 스피너 설정
val ageSpinner = binding.ageSpinner // spinner
val ageArray = resources.getStringArray(R.array.cat_add2_age_array) // 배열
setSpinner(ageSpinner, ageArray) // 스피너 설정
// 스피너 설정
private fun setSpinner(spinner: Spinner, array: Array<String>) {
val adapter = object : ArrayAdapter<String>(
requireContext(),
android.R.layout.simple_dropdown_item_1line
) { override fun getCount(): Int = super.getCount() - 1 } // array에서 hint 안 보이게 하기
adapter.addAll(array.toMutableList()) // 배열 추가
spinner.adapter = adapter // 어댑터 달기
spinner.setSelection(adapter.count) // 스피너 초기값=hint
}
반응형
'코딩 일기장 > Android(Kotlin)' 카테고리의 다른 글
[Android/Kotlin]Custom Dialog (0) | 2022.02.26 |
---|---|
[Android/Kotlin]BottomSheetDialog/round corner/아래에 뜨는 다이얼로그로 선택하는 스피너 (0) | 2022.02.19 |
[Kotlin]let/with/run/apply/also (0) | 2022.02.08 |
[Android/Kotlin]코루틴(Coroutine) 정리 (0) | 2022.02.07 |
갤러리에서 가져온 이미지가 회전되어져 있을 때(ExifInterface) (0) | 2022.01.31 |
Comments