상세 컨텐츠

본문 제목

[안드로이드 코틀린] 스피너(Spinner) 드롭다운 배경 색상 바꾸는 방법

안드로이드

by aries574 2022. 7. 12. 11:57

본문


이번 시간에는 스피너(Spinner)에 있는 아이템을 선택하면 해당 아이템에 따라

레이아웃 배경 색상을 변경해주는 방법에 대하여 알아보겠습니다.


목차

1. 실행 화면
2. 메인 화면 구현 activity_main.xml
3. 메인 코드 구현 MainActivity.kt


1. 실행 화면


2. 메인 화면 구현 activity_main.xml

- 설명 -

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>

 

 

3. 메인 코드 구현 MainActivity.kt

- 설명 -

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)를 음성으로 전환시켜주는 방법

 

[안드로이드 코틀린] TextToSpeech 텍스트(Text)를 음성으로 전환시켜주는 방법

이번 시간에는 입력한 텍스트를 입력하면 음성으로 전환하는 방법에 대하여 알아보겠습니다. 목차 1. 실행 화면 2. 메인 화면 구현 activity_main.xml 3. 메인 코드 구현 MainActivity.kt 1. 실행 화

aries574.tistory.com

2022.07.09 - [안드로이드] - [안드로이드 코틀린] RecognizerIntent 음성을 텍스트(Text)로 전환시켜주는 방법

 

[안드로이드 코틀린] RecognizerIntent 음성을 텍스트(Text)로 전환시켜주는 방법

이번 시간에는 음성을 텍스트로 전환시켜주는 방법을 알아보겠습니다. 목차 1. 실행 화면 2. 메인 화면 구현 activity_main.xml 3. 메인 코드 구현 MainActivity.kt 1. 실행 화면 2. 메인 화면 구현 activity..

aries574.tistory.com

2022.07.10 - [안드로이드] - [안드로이드 코틀린] 자동완성 텍스트뷰 쉽게 만드는 방법

 

[안드로이드 코틀린] 자동완성 텍스트뷰 쉽게 만드는 방법

이번 시간에는 입력한 텍스트와 비슷한 글자를 보여줘서 자동 완성할 수 있는 기능을 알아보겠습니다. 목차 1. 실행 화면 2. 메인 화면 구현 activity_main.xml 3. 메인 코드 구현 MainActivity.kt 1..

aries574.tistory.com

 

반응형

관련글 더보기

댓글 영역