DatePickerDialog로 년도부터 선택한 방법
2280 단어 AndroidDatePicker
이 보도에 관하여
이 글에서 제가 쓰고자 하는 것은 DatePickerDialog의 초기 표시가 월일 선택의 문제이고 DatePickerDialog에서 연도부터 선택하는 방법입니다.
날짜 선택 DatePickerDialog의 초기 표시
먼저 다음 DatePickerDialog의 DialogFragment 표현을 고려하십시오.class DatePickerDialogFragment : DialogFragment() {
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
return DatePickerDialog(activity, null, 2018, 3, 29)
}
}
DialogFragment는 API 클래스 21(Lolipop) 이후의 터미널에 다음과 같이 표시됩니다.
여기가 여러분의 문제입니다.예를 들어'2000/4/29'의 생년월일을 입력하면 2018년을 2000년으로 바꾸고 싶다.나이를 바꾸고 싶을 때 사용자는 어디를 클릭해야 합니까?
정답은 여기 있습니다.
물색 테두리에 둘러싸인 연간 디스플레이 부분을 클릭하면 다음과 같은 연간 선택 모드가 됩니다.연도를 선택하면 월일 선택 모드로 돌아갑니다.
이해하기 힘들지 않나요?
어떤 사용자들은 성년 디스플레이로 전환할 수 있다는 것을 깨닫지 못하고 2000년까지 노력할 수도 있다.
DatePickerDialog로 연중 선택
따라서 처음부터 연간 선택 상태였다면 사용자는 주저하지 않고 연도를 입력할 수 있었다.유감스럽게도 선택 모드를 DatePickerDialog로 전환하는 방법을 제공하지 않았지만 StackOverFlow에 해결 방법이 있습니다.
https://stackoverflow.com/a/46223200
연간 표시 부분을 클릭한 코드를 쓰면 처음부터 연간 선택 모드로 표시할 수 있다.class DatePickerDialogFragment : DialogFragment() {
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val datePickerDialog = DatePickerDialog(activity, null, 2018, 3, 29)
// 年の選択モードにする
// Lollipop以前はspinnerモードなのでこの処理は不要
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
datePickerDialog.datePicker.touchables[0].performClick()
}
return datePickerDialog
}
}
그러나 OS 버전 업그레이드 등에서 DatePickerDialog의 사양이 변경되고 연간 표시된 View의 위치가 변경되면 이 방법을 사용할 수 없을 수 있습니다.
그게 다야.
Reference
이 문제에 관하여(DatePickerDialog로 년도부터 선택한 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ara_tack/items/333bc7286904c1037dcc
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
먼저 다음 DatePickerDialog의 DialogFragment 표현을 고려하십시오.
class DatePickerDialogFragment : DialogFragment() {
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
return DatePickerDialog(activity, null, 2018, 3, 29)
}
}
DialogFragment는 API 클래스 21(Lolipop) 이후의 터미널에 다음과 같이 표시됩니다.여기가 여러분의 문제입니다.예를 들어'2000/4/29'의 생년월일을 입력하면 2018년을 2000년으로 바꾸고 싶다.나이를 바꾸고 싶을 때 사용자는 어디를 클릭해야 합니까?
정답은 여기 있습니다.
물색 테두리에 둘러싸인 연간 디스플레이 부분을 클릭하면 다음과 같은 연간 선택 모드가 됩니다.연도를 선택하면 월일 선택 모드로 돌아갑니다.
이해하기 힘들지 않나요?
어떤 사용자들은 성년 디스플레이로 전환할 수 있다는 것을 깨닫지 못하고 2000년까지 노력할 수도 있다.
DatePickerDialog로 연중 선택
따라서 처음부터 연간 선택 상태였다면 사용자는 주저하지 않고 연도를 입력할 수 있었다.유감스럽게도 선택 모드를 DatePickerDialog로 전환하는 방법을 제공하지 않았지만 StackOverFlow에 해결 방법이 있습니다.
https://stackoverflow.com/a/46223200
연간 표시 부분을 클릭한 코드를 쓰면 처음부터 연간 선택 모드로 표시할 수 있다.class DatePickerDialogFragment : DialogFragment() {
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val datePickerDialog = DatePickerDialog(activity, null, 2018, 3, 29)
// 年の選択モードにする
// Lollipop以前はspinnerモードなのでこの処理は不要
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
datePickerDialog.datePicker.touchables[0].performClick()
}
return datePickerDialog
}
}
그러나 OS 버전 업그레이드 등에서 DatePickerDialog의 사양이 변경되고 연간 표시된 View의 위치가 변경되면 이 방법을 사용할 수 없을 수 있습니다.
그게 다야.
Reference
이 문제에 관하여(DatePickerDialog로 년도부터 선택한 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ara_tack/items/333bc7286904c1037dcc
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
class DatePickerDialogFragment : DialogFragment() {
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val datePickerDialog = DatePickerDialog(activity, null, 2018, 3, 29)
// 年の選択モードにする
// Lollipop以前はspinnerモードなのでこの処理は不要
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
datePickerDialog.datePicker.touchables[0].performClick()
}
return datePickerDialog
}
}
Reference
이 문제에 관하여(DatePickerDialog로 년도부터 선택한 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ara_tack/items/333bc7286904c1037dcc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)