728x90
반응형
버튼을 누를시 밑으로 리스트가 열리는 스피너에 대해서 해보겠습니다.
<?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"
tools:context=".MainActivity">
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:dropDownWidth="200dp"
android:spinnerMode="dropdown">
</Spinner>
</LinearLayout>
XML코드를 정의해주시구요.
spinnerMode에서 dropdown을 하시면 밑으로 열리는 스피너가 되구요.
dialog를 선택하시면 다이얼로그 창이 뜨는 스피너가 됩니다.
상황에 맞게 골라서 쓰시면 될거같습니다.
그리고 스피너 속성중에 dropDownWidth가 있는데 이 속성은 스피너를 터치했을때 열리는 메뉴들의 가로폭을 나타냅니다.
values - array.xml안에 이런식으로 string-array를 정의해주고 저는 일단 name을 test로 정의해줬습니다.
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;
public class MainActivity extends AppCompatActivity {
Spinner spinner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
spinner = findViewById(R.id.spinner);
ArrayAdapter monthAdapter = ArrayAdapter.createFromResource(this, R.array.test, android.R.layout.simple_spinner_dropdown_item);
//R.array.test는 저희가 정의해놓은 1월~12월 / android.R.layout.simple_spinner_dropdown_item은 기본으로 제공해주는 형식입니다.
monthAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(monthAdapter); //어댑터에 연결해줍니다.
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
} //이 오버라이드 메소드에서 position은 몇번째 값이 클릭됬는지 알 수 있습니다.
//getItemAtPosition(position)를 통해서 해당 값을 받아올수있습니다.
@Override
public void onNothingSelected(AdapterView<?> parent) { }
});
}
}
메인에서 간단하게 정의를 해주었습니다.
주석을 참고하시면서 해보시면 쉽게 해 볼수 있습니다.
궁금하신 사항은 댓글달아주세요.
728x90
반응형
'Android' 카테고리의 다른 글
안드로이드 로컬에서 html파일 열어보기 (4) | 2020.02.18 |
---|---|
안드로이드 스피너 커스텀해보기 (내가 원하는 디자인의 스피너) (0) | 2020.02.17 |
Intent로 알람설정 화면 실행해보기. (0) | 2020.02.13 |
안드로이드 TextView,EditText 등 null값 체크해보기. (0) | 2020.02.12 |
안드로이드 하이브리드앱 새창 Popup(팝업)창 띄우기 및 닫기 (25) | 2020.01.28 |
댓글