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개의 λŒ“κΈ€