首页 > 解决方案 > Android:DatePicker 对话框主题

问题描述

我正在做一个 Android 开发,我对日期选择器对话框有疑问。

单击按钮时,会弹出一个日期选择器,用户应该能够选择日期。

代码编译成功,当我单击一个按钮时,会弹出如图 1 所示的对话框,但我希望日期选择器与图 2 一样。

请让我知道我必须在哪里更改代码。

下面是代码:

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

图 1
图 2

标签: android

解决方案


这不是错误,DatePickerDialog默认情况下会显示 Lollipop 以上 android 版本的日历,并显示 Lollipop 之前版本的微调器

如果您想对所有版本使用传统的微调器,您可以参考这里的多种解决方案


推荐阅读