Spinner

Jยท2022๋…„ 9์›” 5์ผ
0

Android_Study

๋ชฉ๋ก ๋ณด๊ธฐ
2/5

๐Ÿ“Œ Spinner

  • ์Šคํ”ผ๋„ˆ๋Š” ๊ฐ’ ์ง‘ํ•ฉ์—์„œ ํ•˜๋‚˜์˜ ๊ฐ’์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ๋น ๋ฅธ ๋ฐฉ๋ฒ• ์ œ๊ณต
  • ๊ธฐ๋ณธ ์ƒํƒœ์˜ ์Šคํ”ผ๋„ˆ๋Š” ํ˜„์žฌ ์„ ํƒ๋œ ๊ฐ’ ํ‘œ์‹œ
  • ์Šคํ”ผ๋„ˆ๋ฅผ ํ„ฐ์น˜ํ•˜๋ฉด ๊ธฐํƒ€ ๋ชจ๋“  ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฐ’์„ ํฌํ•จํ•˜๋Š” ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด๊ฐ€ ํ‘œ์‹œ๋˜๋ฉฐ, ์—ฌ๊ธฐ์„œ ์ƒˆ ๊ฐ’์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์‡ผํ•‘๋ชฐ ๋“ฑ์—์„œ ์˜ต์…˜ ์„ ํƒ์— ์ฃผ๋กœ ์“ฐ์ž„...

๐Ÿ“ Spinner ์ž‘์„ฑํ•˜๊ธฐ

1. ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

activity_main.xml

  • Spinner ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ ˆ์ด์•„์›ƒ์— ์Šคํ”ผ๋„ˆ๋ฅผ ์ถ”๊ฐ€
  • XML ๋ ˆ์ด์•„์›ƒ์—์„œ ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ถ”๊ฐ€
  • ํ™”๋ฉด์— Spinner, TextView๋ฅผ ๋ฐฐ์น˜

<?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=".MainActivity3"
    android:id="@+id/main0"
    >

    <Spinner
        android:id="@+id/spinner0"
        android:layout_width="250dp"
        android:layout_height="50dp"
        android:background="@drawable/asdf0"
        android:layout_alignParentEnd="true"
        android:layout_centerInParent="true"
        android:layout_marginEnd="20dp" />

    <TextView
        android:id="@+id/textview0"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:layout_toStartOf="@id/spinner0"
        android:layout_marginEnd="25dp"
        android:text="TEXT" />

    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <TextView
            android:id="@+id/textview2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintVertical_bias="0.4"
            android:text="spinner"
            />

    </androidx.constraintlayout.widget.ConstraintLayout>

</RelativeLayout>

2. ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€ ์ž‘์„ฑ(ํ…Œ๋‘๋ฆฌ)

asdf0.xml

  • TextView์— ํ…Œ๋‘๋ฆฌ๋ฅผ ์ฃผ๊ธฐ ์œ„ํ•˜์—ฌ ํ…Œ๋‘๋ฆฌ ์ด๋ฏธ์ง€ ๋ ˆ์ด์•„์›ƒ ํŒŒ์ผ ์ž‘์„ฑ
    • drawable [ํŒŒ์ผ] -> New -> Drawable Resource File

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >
    <corners
        android:radius="10dp"/>
    <stroke
        android:width="1dp"
        android:color="@color/black" /> <!-- ์„  -->
</shape>

3. ๋ฉ”์ธ ์—‘ํ‹ฐ๋น„ํ‹ฐ (์ž๋ฐ”)

MainActivity.java

  • Spinner๋ฅผ ์ด์šฉํ•ด ์„ ํƒํ•œ ๊ฐ’์„, TextView๋ฅผ ํ†ตํ•ด ์ถœ๋ ฅํ•œ๋‹ค.
package com.example.spinner;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    TextView textView;
    Spinner spinner;
    String[] items = {"AAAA", "SSSS", "DDDD", "QQQQ", "PPPP"};


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textView = findViewById(R.id.textview0);
        spinner = findViewById(R.id.spinner0);

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(
                this, android.R.layout.simple_spinner_item, items);         //(MainActivity, simple_spinner_item ๋ ˆ์ด์•„์›ƒ, items ๋ฐฐ์—ด)
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(adapter);

        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> adapterView, View view, int position, long id) {      //(adapter, view ๊ฐ์ฒด, view index๊ฐ’, id๊ฐ’)
                textView.setText(items[position]);
            }

            @Override
            public void onNothingSelected(AdapterView<?> adapterView) {
                textView.setText(" ");
            }
        });
    }
}

๐Ÿ“Œ ์™„์„ฑ




์ž‘์„ฑํ•œ ์ „์ฒด ์†Œ์Šค์ฝ”๋“œ github : Android_Study/spinner/

profile
Hello World!

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด