Return 材质时间选择器
Return MaterialTimePicker
一直在寻找如何将 MaterialTimePicker 实现到旧的 TimerPickerDialog
我当前的解决方案是这个但是太旧了
return new TimePickerDialog(getActivity(),android.R.style.Theme_Holo_Light_Dialog, (TimePickerDialog.OnTimeSetListener)getActivity(), hour, minute, DateFormat.is24HourFormat(getActivity()));
代码
public class TimePickerFragment extends DialogFragment {
@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
Calendar c = Calendar.getInstance();
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
return new TimePickerDialog(getActivity(), (TimePickerDialog.OnTimeSetListener) getActivity(), hour, minute, DateFormat.is24HourFormat(getActivity()));
}
}
由此
至此
MaterialTimePicker materialTimePicker = new MaterialTimePicker.Builder()
.setTimeFormat(TimeFormat.CLOCK_24H)
.build();
pick.setOnClickListener(v -> materialTimePicker.show(getSupportFragmentManager(),
DiConstant.TIME_PICKER));
materialTimePicker.addOnPositiveButtonClickListener(dialog -> {
int newHour = materialTimePicker.getHour();
int newMinute = materialTimePicker.getMinute();
String time = String.format(Locale.getDefault(), "%02d:%02d", newHour, newMinute);
pick.setText(time);
});
其中 pick 是您显示所选时间的视图。
要回答您的评论,您可以尝试
return materialTimePicker.show(getSupportFragmentManager(),
"TIME_PICKER");
一直在寻找如何将 MaterialTimePicker 实现到旧的 TimerPickerDialog
我当前的解决方案是这个但是太旧了
return new TimePickerDialog(getActivity(),android.R.style.Theme_Holo_Light_Dialog, (TimePickerDialog.OnTimeSetListener)getActivity(), hour, minute, DateFormat.is24HourFormat(getActivity()));
代码
public class TimePickerFragment extends DialogFragment {
@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
Calendar c = Calendar.getInstance();
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
return new TimePickerDialog(getActivity(), (TimePickerDialog.OnTimeSetListener) getActivity(), hour, minute, DateFormat.is24HourFormat(getActivity()));
}
}
由此
至此
MaterialTimePicker materialTimePicker = new MaterialTimePicker.Builder()
.setTimeFormat(TimeFormat.CLOCK_24H)
.build();
pick.setOnClickListener(v -> materialTimePicker.show(getSupportFragmentManager(),
DiConstant.TIME_PICKER));
materialTimePicker.addOnPositiveButtonClickListener(dialog -> {
int newHour = materialTimePicker.getHour();
int newMinute = materialTimePicker.getMinute();
String time = String.format(Locale.getDefault(), "%02d:%02d", newHour, newMinute);
pick.setText(time);
});
其中 pick 是您显示所选时间的视图。 要回答您的评论,您可以尝试
return materialTimePicker.show(getSupportFragmentManager(),
"TIME_PICKER");