Android:日期选择器对话框主题
我正在做一个Android开发,我对日期选择器对话框有疑问 单击按钮时,会弹出一个日期选择器,用户应该能够选择日期 代码已成功编译,当我单击一个按钮时,会弹出如图1所示的对话框,但我希望日期选择器如图2所示 请让我知道我必须在哪里更改代码 代码如下:Android:日期选择器对话框主题,android,Android,我正在做一个Android开发,我对日期选择器对话框有疑问 单击按钮时,会弹出一个日期选择器,用户应该能够选择日期 代码已成功编译,当我单击一个按钮时,会弹出如图1所示的对话框,但我希望日期选择器如图2所示 请让我知道我必须在哪里更改代码 代码如下: public class MainActivity extends AppCompatActivity { Button B1; int day_x, month_x, year_x; static final int id=0; @Ove
public class MainActivity extends AppCompatActivity {
Button B1;
int day_x, month_x, year_x;
static final int id=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
B1 = (Button)findViewById(R.id.button);
B1.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {
showDialog(id);
}
});
}
@Override
protected Dialog onCreateDialog(int id1)
{
if (id1==id)
return new DatePickerDialog(MainActivity.this,listener,year_x,month_x,day_x);
return null;
}
protected DatePickerDialog.OnDateSetListener listener
=new DatePickerDialog.OnDateSetListener()
{
public void onDateSet(DatePicker view,int year,int month,int day)
{
year_x=year;
month_x=month;
day_x=day;
Toast.makeText(MainActivity.this,Integer.toString(day_x)+":"+Integer.toString(month_x)+":"+
Integer.toString(year_x),Toast.LENGTH_SHORT).show();
}
};
}
您可以使用
AlertDialog.THEME\u HOLO\u LIGHT
THEME进行此操作
DatePickerDialog dpd = new DatePickerDialog(context,
AlertDialog.THEME_HOLO_LIGHT, listener, year, month, day);
dpd.show();
您可以使用此方法,但不推荐使用android.R.style.Theme\u Holo\u Light\u Dialog\u MinWidth
public void showDatePicker(Context context, DatePickerDialog.OnDateSetListener listener) {
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH);
int day = cal.get(Calendar.DAY_OF_MONTH);
DatePickerDialog dialog = new DatePickerDialog(context, android.R.style.Theme_Holo_Light_Dialog_MinWidth, listener, year, month, day);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
dialog.show();
}
这不是一个bug,
DatePickerDialog
默认显示棒棒糖以上android版本的日历,并显示棒棒糖之前版本的微调器
如果要在所有版本中使用传统微调器,可以参考中的多个解决方案。是否使用API 24版本?AlertDialog。主题从API 23起不再推荐: