DatePickerDialog 自定义样式及使用全解

本文介绍了如何在Android应用中使用DatePickerDialog来选择日期,并展示了如何设置主题、新建对话框实例、获取选定日期及转换日期格式的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.增加Theme主题

new DatePickerDialog(this, AlertDialog.THEME_HOLO_LIGHT,null).show();

效果:
这里写图片描述
4.0以上的版本才可使用此Theme,注意对版本的判断。

若低版本的则主题设置为以下
android:theme=”@android:style/Theme.Light.NoTitleBar”
效果:
这里写图片描述

2.新建DatePickerDialog

DatePickerDialog datePicker = new DatePickerDialog(MainActivity.this, AlertDialog.THEME_HOLO_LIGHT, new OnDateSetListener() {
        @Override
        public void onDateSet(DatePicker datePicker, int year, int monthOfYear, int dayOfMonth) {
        // TODO Auto-generated method stub

         }
    }, 2014, 1, 7);
datePicker.show();

以上代码中设置了默认的日期为2014年1月7日。

3.获取选中的日期

Toast.makeText(MainActivity.this,year + "year " + (monthOfYear + 1) + "month " + dayOfMonth + "day",Toast.LENGTH_SHORT).show();

在onDateSet中加入以上代码即可。

4.转换日期格式

StringBuffer sb = new StringBuffer();
sb.append(String.format("%d-%02d-%02d", datePicker.getYear(), datePicker.getMonth() + 1,datePicker.getDayOfMonth()));

同样的在onDateSet中加入以上代码,即可通过sb.toString();中输出标准的日期格式,如:2014-1-7

5.完整代码

DatePickerDialog datePicker =
                        new DatePickerDialog(MainActivity.this, AlertDialog.THEME_HOLO_LIGHT, new OnDateSetListener() {

                            @Override
                            public void onDateSet(DatePicker datePicker, int year, int monthOfYear, int dayOfMonth) {
                                // TODO Auto-generated method stub
                                Toast.makeText(MainActivity.this,
                                        year + "year " + (monthOfYear + 1) + "month " + dayOfMonth + "day",
                                        Toast.LENGTH_SHORT).show();

                                StringBuffer sb = new StringBuffer();

                                sb.append(String.format("%d-%02d-%02d", datePicker.getYear(), datePicker.getMonth() + 1,
                                        datePicker.getDayOfMonth()));


                            }
                        }, 2014, 1, 7);
                datePicker.show();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值