如何解决在小屏幕下选择器对话框被切断的问题?

问题描述 投票:-1回答:1

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

问题是,这个对话框的大小在所有屏幕尺寸上都是一样的。对话框不会随着屏幕大小的变化而调整其大小,因此,在一个较小的屏幕上,对话框的内容会被切断。所以,在一个较小的屏幕上,对话框的内容被切断了。

如何调整这个对话框的大小?

以下是我在不同大小的设备上得到的输出。我甚至不能在这个对话框中滚动。

应用程序输出1

应用程序输出2

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个回答
0
投票

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

    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");

}
© www.soinside.com 2019 - 2024. All rights reserved.