我有一个奇怪的问题.
我具有从AppCompatActivity继承的Activity,其中包含Fragment.
在此片段中,我显示DatePickerDialog以选择日期.
在manifest.xml中声明的Activity为
现在.
我想在Fragment中显示DatePickerDialog,所以我用以下代码创建了自定义DatePickertFragment:
public class DatePickerFragment extends AppCompatDialogFragment{
// (...)
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
DatePickerDialog dialog = new DatePickerDialog(getActivity(), this, year, month, day);
return dialog;
}
// (...)
}
并在片段内执行show()方法
pickerFragment.show(getChildFragmentManager(), null);
我在onClick()方法中运行显示选择器代码. DatePicker显示正确.
现在是问题.
对话框以纵向屏幕方向正确显示,但是当我将屏幕旋转到横向模式时,对话框的左右尺寸似乎被剪切了.
我检查了一下,并认为对话框选择器在屏幕旋转时未更改布局方向.
下面的截图
1.纵向,正确对话
>接下来,我旋转设备,并在横向模式下得到类似“剪切”对话框的内容(对话框纵向布局尺寸中的横向对话框布局)
我将manifest.xml活动声明更改为
android:configChanges="keyboardHidden|orientation"
现在可以正常工作,但我无法执行此操作,因为其他应用程序部分将无法正常工作.
所以我想知道在旋转屏幕后是否可以使DialogPicker无效或重画DialogPicker来调整其边界大小?