以编程方式更改 Android 中的 DatePicker 日历大小

mal*_*ano 5 java android android-datepicker datepickerdialog android-studio

我正在做一个 Android 应用程序,我必须显示一个 DatePickerDialog。事实上,该应用程序将运行在具有智能屏幕的设备上,而日历不适合其中。我希望日历更小,同时保持相同的比例。

看起来像这样

我尝试使用DatePicker 上的ScaleY和函数来调整它的大小,但它只是调整所有 DatePicker 的大小。ScaleX

像这样

这是我用来显示 DatePickerDialog 的代码

public void ShowDate() {
    final Calendar c = Calendar.getInstance();


    year = c.get(Calendar.YEAR);
    month = c.get(Calendar.MONTH);
    day = c.get(Calendar.DAY_OF_MONTH);

    DatePickerDialog dateForm = new DatePickerDialog(ViewForm.this, R.style.ColorOne, new DatePickerDialog.OnDateSetListener() {
        @Override
        public void onDateSet(DatePicker datePicker, int year, int monthOfYear, int dayOfMonth) {

        }
    }, year, month, day);
    dateForm.show();

    DatePicker dp = dateForm.getDatePicker();

    dp.setScaleY(Float.parseFloat("0.5"));
    dp.setScaleX(Float.parseFloat("0.5"));
}
Run Code Online (Sandbox Code Playgroud)

我希望有人知道如何做到这一点

谢谢

Sam*_*ani 0

尝试这个

dateForm.getWindow().setLayout(width,height)

宽度和高度特定于设备分辨率大小,维护尺寸文件或使用 SDP 库。

或者对于该特定分辨率,请使用 AlertDialog.THEME_HOLO_LIGHT ,如下所示:

DatePickerDialog dateForm = new DatePickerDialog(ViewForm.this, AlertDialog.THEME_HOLO_LIGHT, new DatePickerDialog.OnDateSetListener() {}
Run Code Online (Sandbox Code Playgroud)