DatePickerDialog 自定义样式及使用全解

1.增加Theme主题

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

效果:
DatePickerDialog 自定义样式及使用全解_第1张图片
4.0以上的版本才可使用此Theme,注意对版本的判断。

若低版本的则主题设置为以下
android:theme=”@android:style/Theme.Light.NoTitleBar”
效果:
DatePickerDialog 自定义样式及使用全解_第2张图片

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();

你可能感兴趣的:(Android开发技巧)