JY-Dev Tech Blog

안드로이드(Android) - Custom Spinner 만들기 본문

안드로이드/레이아웃

안드로이드(Android) - Custom Spinner 만들기

JY-Dev 2020. 8. 7. 17:50

[OverView]

이번에는 Custom Spinner를 만들어 볼텐데 저는 이미지만 있는 Spinner를 만들어보겠습니다.

 

 

일단 Spinner에 드러갈 Apapter를 생성해 줍니다.

[SpinnerAdapter.kt]

class SpinnerAdapter(context: Context, imageArray: TypedArray) : BaseAdapter() {
    val imageTypeArray = imageArray
    val mContext = context
    override fun getView(p0: Int, v: View?, p2: ViewGroup?): View {
        val view = v?:LayoutInflater.from(mContext).inflate(R.layout.diary_spinner_row, null)
       view.image_spinner.setImageDrawable(imageTypeArray.getDrawable(p0))
       return view
    }

    override fun getItem(p0: Int): Any {
        return imageTypeArray
    }

    override fun getItemId(p0: Int): Long {
        return 0
    }

    override fun getCount(): Int {
        return imageTypeArray.length()
    }
}

[diary_spinner_row.xml]

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="5dp"
    android:gravity="center"
    android:orientation="vertical">

<ImageView
    android:id="@+id/image_spinner"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

</LinearLayout>

 

그리고나서 Spinner의 Adapter를 설정해줍시다.

spinner.adapter = SpinnerAdapter(this,resources.obtainTypedArray(R.array.weather_image))

 

이미지 배열 관련은 아래에서 확인해주세요

https://jae-young.tistory.com/21

 

안드로이드(Android) - Drawable Arraylist (이미지 배열)

이번에는 Drawable ArrayList 생성하는 방법에 대해 알려드리겠습니다. 일단 app/res/values 에 arrays Resource를 생성해 줍시다. 그러면 이런식으로 생성이 될텐데 이..

jae-young.tistory.com

 

이렇게 하시면 원하는대로 Customize 하실 수 있습니다.

Comments