如何修复在较小屏幕中被截断的选择器对话框?
Posted
技术标签:
【中文标题】如何修复在较小屏幕中被截断的选择器对话框?【英文标题】:How to fix picker dialog that is cutoff in smaller screens? 【发布时间】:2020-09-23 01:00:00 【问题描述】:在android应用程序中,我使用了TimePickerDialog
和DatePickerDialog
。我想在所有不同的屏幕尺寸上开发这个应用程序。
问题是,此对话框大小在所有屏幕尺寸上都是相同的。对话框不会随着屏幕大小的变化而调整其大小。因此,在较小的屏幕上,对话框的内容被截断。
如何调整此对话框?
下面是我在不同尺寸设备中得到的输出。我什至无法在此对话框中滚动
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();
);
【问题讨论】:
可以添加丢失内容的图片吗?你也可以分享你的代码吗? 我已经添加了代码。请检查一下 【参考方案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 设备屏幕尺寸非常小。如果上面的代码没有为您响应,您可以将此答案用于您的设备。 ***.com/a/28291780/8738452 这不是我的问题的解决方案。以上是关于如何修复在较小屏幕中被截断的选择器对话框?的主要内容,如果未能解决你的问题,请参考以下文章