Android DatePickerDialog和TimePickerDialog显示样式

可以用DatePickerDialog显示选取日期的对话框。可以设置显示的样式

 

1、通过构造方法设置显示样式。

  可以通过DatePickerDialog(Context context, int theme, DatePickerDialog.OnDateSetListener callBack, int year, int monthOfYear, int dayOfMonth)这个构造方法的第二个参数来设置显示样式。

  这个theme参数对应的值,可以使用AlertDialog中的theme值。

  AlertDialog.THEME_TRADITIONAL

    

  AlertDialog.THEME_HOLO_DARK

    

  AlertDialog.THEME_HOLO_LIGHT

    

  AlertDialog.THEME_DEVICE_DEFAULT_DARK

    

  AlertDialog.THEME_DEVICE_DEFAULT_LIGHT

    

 

2、通过DatePicker设置显示样式

  首先获取DatePicker,然后使用DatePicker.setCalendarViewShow(boolean)和DatePicker.setSpinnersShow(boolean)来设置。

  CalendarView和Spinners的值分别为true和false

    

  CalendarView和Spinners的值分别为false和true

    

  CalendarView和Spinners的值都是false

    

  CalendarView和Spinners的值都是true

    

 

 

对于TimePickerDialog而言,它的样式设置,只有构造函数一种方式,对应的theme参数和DatePickerDialog相同。它内部定义了一个TimePicker,但是没有提供获取的方式。

 

在构造TimePickerDialog和DatePickerDialog的时候最好使用DialogFragment来进行构造。

帮助文档中例子:

public static class TimePickerFragment extends DialogFragment
                            implements TimePickerDialog.OnTimeSetListener {

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        // Use the current time as the default values for the picker
        final Calendar c = Calendar.getInstance();
        int hour = c.get(Calendar.HOUR_OF_DAY);
        int minute = c.get(Calendar.MINUTE);

        // Create a new instance of TimePickerDialog and return it
        return new TimePickerDialog(getActivity(), this, hour, minute,
                DateFormat.is24HourFormat(getActivity()));
    }

    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
        // Do something with the time chosen by the user
    }
}
public void showTimePickerDialog(View v) {
    DialogFragment newFragment = new TimePickerFragment();
    newFragment.show(getSupportFragmentManager(), "timePicker");
}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值