android DatePickerDialog theme

时间:2023-03-08 21:19:31

网上搜索了下没有找到DatePickerDialog的各种 Theme 的样例。我就一个一个试了下,传上图片

DatePickerDiaolog有两个构造函数分别是:

android  DatePickerDialog   theme

DatePickerDialog(Context context, DatePickerDialog.OnDateSetListener callBack, int year, int monthOfYear, int dayOfMonth)
DatePickerDialog(Context context, int theme, DatePickerDialog.OnDateSetListener callBack, int year, int monthOfYear, int dayOfMonth)

其中第一个构造函数没有指定theme就是用工程的默认theme下的DatePickerDialog把

第二个构造函数的第二个参数表示的就是DatePickerDialog的几种风格了。可以是以下常量:

android  DatePickerDialog   themeandroid  DatePickerDialog   themeandroid  DatePickerDialog   theme

对应的视图效果:

android  DatePickerDialog   theme

android  DatePickerDialog   themeandroid  DatePickerDialog   themeandroid  DatePickerDialog   theme‘’android  DatePickerDialog   themeandroid  DatePickerDialog   theme

android  DatePickerDialog   theme

android  DatePickerDialog   theme

Demo:

对应生成一个DatePickerDialog的代码如下

Dialog dialog=new DatePickerDialog(
mContext,
DatePickerDialog.THEME_DEVICE_DEFAULT_DARK,
new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {

}
   },
   1990,8,16);//表示默认的年月日

dialog.show();

添加  设置  取消按钮 (有些手机界面被定制了   没有取消按钮)

//添加确定按钮
            mDialog.setButton(DatePickerDialog.BUTTON_POSITIVE, 
                    mContext.getResources().getString(R.string.hint_ok), 
                    new DialogInterface.OnClickListener() {
                        
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            // TODO Auto-generated method stub                            
                            flag = true;                           
                        }
                    });  
            //添加取消按钮
            mDialog.setButton(DatePickerDialog.BUTTON_NEGATIVE, 
                    mContext.getResources().getString(R.string.hint_cancel), 
                    new DialogInterface.OnClickListener() {
                        
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            // TODO Auto-generated method stub                            
                            flag = false;                           
                        }
                    });