【问题标题】:How to fix picker dialog that is cutoff in smaller screens?如何修复在较小屏幕中被截断的选择器对话框?
【发布时间】:2020-09-23 01:00:00
【问题描述】:

在android应用程序中,我使用了TimePickerDialogDatePickerDialog。我想在所有不同的屏幕尺寸上开发这个应用程序。

问题是,此对话框大小在所有屏幕尺寸上都是相同的。对话框不会随着屏幕大小的变化而调整其大小。因此,在较小的屏幕上,对话框的内容被截断。

如何调整此对话框?

下面是我在不同尺寸设备中得到的输出。我什至无法在此对话框中滚动

App output1

App output2

DatePickerdialog 代码:

 DatePickerDialog datePicker;

 editText_date.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            datePicker = new DatePickerDialog(mActivity,new DatePickerDialog.OnDateSetListener() {

                @Override
                public void onDateSet(DatePicker view, int y, int m, int d) {               
                 //other code here
                }
            },yy,mm,dd);

         //allow only future dates
            datePicker.getDatePicker().setMinDate(System.currentTimeMillis());
            datePicker.getDatePicker().setMaxDate(maxDate.getTimeInMillis());
            datePicker.show();
        }
    });

【问题讨论】:

  • 可以添加丢失内容的图片吗?你也可以分享你的代码吗?
  • 我已经添加了代码。请检查一下

标签: android datepicker dialog timepicker


【解决方案1】:

您可以使用这些代码块。如果你会收到错误,你可以写。

    private void dialogDatePickerLight() {
    Calendar cur_calender = Calendar.getInstance();
    DatePickerDialog datePicker = DatePickerDialog.newInstance(
            new DatePickerDialog.OnDateSetListener() {
                @Override
                public void onDateSet(DatePickerDialog view, int year, int monthOfYear, int dayOfMonth) {
                    Calendar calendar = Calendar.getInstance();
                    calendar.set(Calendar.YEAR, year);
                    calendar.set(Calendar.MONTH, monthOfYear);
                    calendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
                    long date_ship_millis = calendar.getTimeInMillis();

                }
            },

            cur_calender.get(Calendar.YEAR),
            cur_calender.get(Calendar.MONTH),
            cur_calender.get(Calendar.DAY_OF_MONTH)
    );

    datePicker.setThemeDark(false);
    datePicker.setAccentColor(getResources().getColor(R.color.cyan_800_overlay));
    datePicker.setMinDate(cur_calender);
    datePicker.show(getFragmentManager(), "Title is here");

}

【讨论】:

  • datePicker.setThemeDark() 方法不可用
  • @bhumivaghasiya 设备屏幕尺寸非常小。如果上面的代码没有为您响应,您可以将此答案用于您的设备。 stackoverflow.com/a/28291780/8738452
  • 这不是我的问题的解决方案。
猜你喜欢
  • 2021-07-13
  • 1970-01-01
  • 1970-01-01
  • 2014-07-04
  • 1970-01-01
  • 1970-01-01
  • 2012-07-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多