상세 컨텐츠

본문 제목

[안드로이드 코틀린] Custom Spinner 쉽게 만드는 방법 part2

안드로이드

by aries574 2022. 7. 14. 10:26

본문


이번 시간에는 스피너 배경화면 레이웃, 메인화면, 메인코드를 만들어 보겠습니다.


목차

1. 실행 화면
2. 스피너 배경화면 만들기 spinner_background.xml
3. 메인 화면 구현 activity_main.xml
4. 메인 코드 구현 MainActivity.kt


1. 실행 화면


2. 스피너 배경화면 만들기 spinner_background.xml

- 설명 -

1. 스피너 background에 쓰일 화면

2. 아이콘 res -> drawable

ic_arrow_drop_down.xml
0.00MB

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <layer-list>
            <item>
                <shape android:shape="rectangle">
                    <solid android:color="@android:color/darker_gray"/>
                    <padding android:right="12dp"
                        android:left="12dp"/>
                    <corners android:radius="4dp"/>
                </shape>
            </item>

            <item android:drawable="@drawable/ic_arrow_drop_down"
                android:gravity="end"/>
        </layer-list>
    </item>
</selector>

 

3. 메인 화면 구현 activity_main.xml

- 설명 -

커스텀 스피너 적용시킬 Spinner

<?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/fruit_spinner"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="30dp"
        android:background="@drawable/spinner_background"
        />
</RelativeLayout>

 


4. 메인 코드 구현 MainActivity.kt

- 설명 -

1. val spinnerFruit: Spinner

  스피너 객체 생성

2. ArrayList<Fruit>()

  리스트 생성

3. Fruit("Avocado", R.drawable.avocado)

  데이터 생성

4. fruitList.add(avocado)

  리스트에 데이터 담기

5. FruitAdapter(this, fruitList)

  어댑터 생성

6. spinnerFruit.adapter = adapter

  어댑터 적용

class MainActivity : AppCompatActivity(){

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        //스피너 객체 생성
        val spinnerFruit: Spinner = findViewById(R.id.fruit_spinner)

        //리스트 생성
        val fruitList: ArrayList<Fruit> = ArrayList<Fruit>()

        //데이터 생성
        val avocado: Fruit = Fruit("Avocado", R.drawable.avocado)
        val banana: Fruit = Fruit("banana", R.drawable.banana)
        val coconut: Fruit = Fruit("coconut", R.drawable.coconut)
        val lemon: Fruit = Fruit("lemon", R.drawable.lemon)

        //데이터 리스트에 담기
        fruitList.add(avocado)
        fruitList.add(banana)
        fruitList.add(coconut)
        fruitList.add(lemon)

        //어댑터 생성
        val adapter: FruitAdapter = FruitAdapter(this, fruitList)

        //어댑터 적용
        spinnerFruit.adapter = adapter
    }//onCreate
}

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

 

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

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

aries574.tistory.com

2022.07.11 - [안드로이드] - [안드로이드 코틀린] 스피너(spinner) 드롭다운 사용방법

 

[안드로이드 코틀린] 스피너(spinner) 드롭다운 사용방법

이번 시간에는 여러 개의 아이템 중 하나를 선택하는 스피너(Spinner)에 대하여 알아보겠습니다. 목차 1. 실행 화면 2. 메인 화면 구현 activity_main.xml 3. 메인 코드 구현 MainActivity.kt 1. 실행..

aries574.tistory.com

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

 

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

이번 시간에는 스피너(Spinner)에 있는 아이템을 선택하면 해당 아이템에 따라 레이아웃 배경 색상을 변경해주는 방법에 대하여 알아보겠습니다. 목차 1. 실행 화면 2. 메인 화면 구현 activity_ma

aries574.tistory.com

 

반응형

관련글 더보기

댓글 영역