-
[Android] 안드로이드 DatePicker 알아보기안드로이드 스튜디오 2022. 9. 18. 22:09
1. DatePicker 개요
DatePicker는 날짜 선택을 도와주는 도구입니다.
OnDateChangedListener를 통해 선택한 값에 따라 이벤트를 구현할 수 있습니다.2. DatePicker 구현 (xml)
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); DatePicker d_pkr = findViewById(R.id.d_pkr); d_pkr.setFirstDayOfWeek(Calendar.MONDAY); try { long max = new SimpleDateFormat("yyyy/MM/dd").parse("2030/12/31").getTime(); long min = new SimpleDateFormat("yyyy/MM/dd").parse("2000/01/01").getTime(); d_pkr.setMaxDate(max); } catch (ParseException e) {} d_pkr.setOnDateChangedListener(new DatePicker.OnDateChangedListener(){ @Override public void onDateChanged(DatePicker v, int y, int m, int d) { Toast.makeText(MainActivity.this, "" + y+ ", " + m + ", "+ d, 200).show(); } }); } }
간단하게 view만 그리고
나머지는 java 코드를 통해 세팅하겠습니다.3. DatePicker (Java)
<?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:gravity="center" android:orientation="vertical"> <DatePicker android:id="@+id/d_pkr" android:layout_width="match_parent" android:layout_height="wrap_content"/> </LinearLayout>
setMaxDate(long): 날짜의 최댓값.
setMinDate(long): 날짜의 최솟값.
둘 다 long 타입을 인수로 받기 때문에 simpleformat을 적절히 사용해줍니다.
setFirstDayOfWeek(int): 어떤 요일을 첫번째 요일로 정할지 결정합니다. 여기서는 월요일을 첫번째 요일로 설정했습니다. int값은 일요일이 0, 토요일이 6입니다.
setOnDateChangedListener: 선택한 날짜가 변할 때 호출됩니다.4. 실제 구현 화면
개발자 문서:
https://developer.android.com/reference/android/widget/DatePicker
'안드로이드 스튜디오' 카테고리의 다른 글
[Android] 안드로이드 애니메이션(Animation) Interpolator 알아보기 (0) 2022.09.18 [Android] 안드로이드 애니메이션(Animation) 구현 (4) - Alpha (투명도) (0) 2022.09.17 [Android] 안드로이드 Animation 구현 (3) - Scale (크기 변경) (0) 2022.09.17 [Android] 안드로이드 애니메이션(Animation) 구현 (2) -Translate(좌표 이동) (0) 2022.09.17 [Android] 안드로이드 애니메이션(Animation) 구현 (1) - Rotate (0) 2022.09.16 댓글