상세 컨텐츠

본문 제목

[안드로이드] NumberPicker 숫자 선택하는 방법 알아보기

안드로이드

by aries574 2021. 12. 23. 12:32

본문


이번 시간에는 계정을 만들 때 흔히 볼 수 있는 숫자 선택하는

기능을 알아보겠습니다. 

안드로이드에서는 NumberPicker를 통해 쉽게 만들 수 있습니다.

1. 메인화면 구성 (activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:orientation="vertical"
    tools:context=".MainActivity">


    <TextView
        android:id="@+id/text_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginTop="20dp"
        android:layout_marginBottom="32dp"
        android:text="select number"
        android:textSize="30sp" />

    <NumberPicker
        android:id="@+id/number_picker"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center" />
    
</LinearLayout>

 

2. 메인코드 기능구현 (MainActivity.java)

setMaxValue: 최댓값을 정한다.

setMinValue: 최소값을 정한다.

setValue: 현재값을 정한다.

예제는 0~10까지 표현을 하며, 현재 값은 5로 설정을 하겠다고 정했습니다.


import android.os.Bundle;
import android.widget.NumberPicker;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;


public class MainActivity extends AppCompatActivity {

    TextView text_view;
    NumberPicker numberPicker;

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

        text_view = findViewById(R.id.text_view);

        numberPicker = findViewById(R.id.number_picker);

        numberPicker.setMaxValue(10);
        numberPicker.setMinValue(0);
        numberPicker.setValue(5);

        numberPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
            @Override
            public void onValueChange(NumberPicker numberPicker, int oldValue, int newValue) {
                text_view.setText("selected: " + newValue);
            }
        });
    }

}

 

3. 실행화면

반응형

관련글 더보기

댓글 영역