이번 시간에는 스피너(Spinner)에 있는 아이템을 선택하면 해당 아이템에 따라
레이아웃 배경 색상을 변경해주는 방법에 대하여 알아보겠습니다.
- 설명 -
1. 여러 개의 아이템을 보여주는 Spinner
2. 배경 색상 변경할 FrameLayout
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Spinner
android:id="@+id/colorSpinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"/>
<FrameLayout
android:id="@+id/frameLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/colorSpinner"/>
</RelativeLayout>
- 설명 -
1. colorSpinner: Spinner
spinner 객체 생성
2. adapter: ArrayAdapter<String>
어댑터 생성
3. setDropDownViewResource
드롭다운뷰 설정
4. colorSpinner.adapter = adapter
어댑터 적용
5. AdapterView.OnItemSelectedListener
아이템 선택 이벤트
class MainActivity : AppCompatActivity(){
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//스피너에 들어갈 데이터
val colors = arrayOf("빨간색", "파란색", "초록색")
//스피너 객체 생성
val colorSpinner: Spinner = findViewById(R.id.colorSpinner)
//어댑터 생성
val adapter: ArrayAdapter<String> = ArrayAdapter(this,
android.R.layout.simple_list_item_1, colors)
//어댑터 설정
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
//스피너에 어댑터 적용
colorSpinner.adapter = adapter
//레이아웃 객체 생성
val frameLayout: FrameLayout = findViewById(R.id.frameLayout)
colorSpinner.onItemSelectedListener = object: AdapterView.OnItemSelectedListener{
//아이템 선택 시 실행됨
override fun onItemSelected(p0: AdapterView<*>?, p1: View?, p2: Int, p3: Long) {
//p2 : 아이템 순서값
when(p2){
0 -> frameLayout.setBackgroundColor(Color.RED)
1 -> frameLayout.setBackgroundColor(Color.BLUE)
2 -> frameLayout.setBackgroundColor(Color.GREEN)
}
}
override fun onNothingSelected(p0: AdapterView<*>?) {}
}
}//onCreate
}
2022.07.08 - [안드로이드] - [안드로이드 코틀린] TextToSpeech 텍스트(Text)를 음성으로 전환시켜주는 방법
2022.07.09 - [안드로이드] - [안드로이드 코틀린] RecognizerIntent 음성을 텍스트(Text)로 전환시켜주는 방법
2022.07.10 - [안드로이드] - [안드로이드 코틀린] 자동완성 텍스트뷰 쉽게 만드는 방법
[안드로이드 코틀린] Custom Spinner 쉽게 만드는 방법 part2 (0) | 2022.07.14 |
---|---|
[안드로이드 코틀린] Custom Spinner 쉽게 만드는 방법 part1 (0) | 2022.07.13 |
[안드로이드 코틀린] 스피너(spinner) 드롭다운 사용방법 (0) | 2022.07.11 |
[안드로이드 코틀린] 자동완성 텍스트뷰 쉽게 만드는 방법 (0) | 2022.07.10 |
[안드로이드 코틀린] RecognizerIntent 음성을 텍스트(Text)로 전환시켜주는 방법 (0) | 2022.07.09 |
댓글 영역