728x90
Spinner 아이템 글자크기 및 폰트, 정렬 다루는 방법
스피너란, 이처럼 클릭을 했을 때 여러가지 목록을 뜨게 하는 기능이다.
res - values - array.xml 을 만들어
그 안에 <string-array name=”이름”> 태그로 클릭했을 때 뜰 목록들을 지정할 수 있다.
그러고 kt 파일에서 이 array 이름을 호출해주면 된다.
- 스피너를 클릭했을 때 메소드 2개 오버라이딩
sound_spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(p0: AdapterView<*>?, p1: View?, p2: Int, p3: Long) {
set_music = p2
}
override fun onNothingSelected(p0: AdapterView<*>?) {
}
}
스피너의 onItemSelected 리스너의 메소드로 두 가지가 있는데,
개발자가 “유저가 아이템을 클릭하여 선택했을 때” or “유저가 아무것도 클릭하지 않았을 때”
위 두 경우에 대해 처리해주어야 한다.
아무것도 처리를 안 했을 때는 자동적으로 디폴트로 첫 번째 요소를 가리키고 있다.
사용자가 클릭했을 때는, 정수타입으로 그 요소가 array에 몇 번째 위치하는 지 인덱스를 가져온다.
- 스피너 요소들의 정렬 및 폰트 꾸미기
우선 레이아웃 하나를 만들어 모두 제거하여 빈 코드로 만들고, 텍스트뷰만 넣어고 스피너를 클릭했을 때, 보일 글자로 설정해준다.
스피너의 원소, 즉 아이템들이 새로 적용될 텍스트뷰로, 우측정렬과 글자크기는 20으로 설정했다.
val sound_spinner: Spinner = view.findViewById(R.id.sound_spinner)
val sound_adapter = ArrayAdapter.createFromResource(
requireContext(),
R.array.sound_array,
R.layout.sound_spinner
)
sound_adapter.setDropDownViewResource(R.layout.sound_spinner)
sound_spinner.adapter = sound_adapter
이후 스피너가 들어있는 kt 파일에서 다음과 같이 spinner를 설정한다.
- sound_spinner 라는 변수로 레이아웃에서 만든 spinner를 받아온다.
- sound_adapter 라는 변수를 만들어 values에서 지정했던 배열, spinner의 폰트 및 글자 크기, 정렬 등이 적용된 레이아웃을 가져온다.
- sound_spinner의 adapter에 2번에서 만든 변수를 초기화 시켜준다.
'기타 > AOS, Kotlin' 카테고리의 다른 글
앱 개발 프로젝트에서 배운 점(4) : 프래그먼트 간의 데이터 전달 (0) | 2023.08.15 |
---|---|
앱 개발 프로젝트에서 배운 점(3) : TextView 배열의 원소 증감 처리 및 메인 액티비티로 넘겨주기 (0) | 2023.08.15 |
앱 개발 프로젝트에서 배운 점(1) : 레이아웃, 프래그먼트, 뷰 (0) | 2023.08.14 |
[코틀린] 코틀린의 '람다'(Lamda) 살펴보기 (0) | 2023.07.29 |
[코틀린] 자바와 비교하며 기초 문법의 모든 것 (0) | 2023.07.29 |