Android 应用系统的日期和时间选择器

一、日期选择期

private void showDatePicker() {
        Calendar calendar = Calendar.getInstance();
        DatePickerDialog datePickerDialog = new DatePickerDialog(getActivity(), R.style.MyDatePickerDialogTheme,
                dateSetListener,
                calendar.get(Calendar.YEAR),
                calendar.get(Calendar.MONTH),
                calendar.get(Calendar.DAY_OF_MONTH));
        datePickerDialog.show();
    }


private DatePickerDialog.OnDateSetListener dateSetListener =
            (view, year, month, dayOfMonth) -> {
                yourView.setText(year + "/" + (month + 1) + "/" + dayOfMonth);
            };

二、时间选择器

private void showTimePicker() {
        Calendar calendar = Calendar.getInstance();
        TimePickerDialog timePickerDialog = new TimePickerDialog(getActivity(), R.style.MyDatePickerDialogTheme,
                timeSetListener,
                calendar.get(Calendar.HOUR_OF_DAY),
                calendar.get(Calendar.MINUTE), true);
        timePickerDialog.show();
    }


private TimePickerDialog.OnTimeSetListener timeSetListener = (view, hourOfDay, minute) -> {
        String minStr = minute < 10 ? ("0" + minute) : minute + "";
        yourView.setText(hourOfDay + ":" + minStr);
    };

三、遇到选择的取消和确认可以点击但是不显示的问题

由于某些原因按钮的字体颜色有时显示为白色

为了解决这个问题,我向 TimePickerDialog 添加了一个对话框主题来设置按钮文本颜色。

这是我添加到 styles.xml 的 xml 代码

<style name="MyDatePickerDialogTheme" parent="android:Theme.Material.Light.Dialog">
        <item name="android:colorAccent">@color/common_bg_color</item>
        <item name="android:textColor">@color/common_bg_color</item>
        <item name="colorOnPrimary">@color/common_bg_color</item>
    </style>

关于android - TimePickerDialog 取消和确定按钮未显示,我们在Stack Overflow上找到一个类似的问题: android - TimePickerDialog CANCEL and OK button not showing - Stack Overflow

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值