可以更改 BottomSheetDialogFragment (材料设计)宽度的宽度吗?在平板电脑横向模式下,宽度为 match_parent。谢谢
问问题
270 次
1 回答
0
底部床单在手机上看起来很棒。但是当把它们放在平板电脑上时,它们会感到被拉长,尤其是在横向模式下。这是由于窥视高度与整个平板电脑宽度之间的高比率。细节很重要,我们希望平板电脑用户和手机用户一样开心。让我们自定义平板电脑的底部宽度。
值-w820dp/dimens.xml
<resources>
<dimen name="bottom_sheet_width">600dp</dimen>
</resources>
片段文件
public class PopupSettingsFragment extends AppCompatDialogFragment {
...
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
return new CustomWidthBottomSheetDialog(getActivity(), getTheme());
}
static class CustomWidthBottomSheetDialog extends BottomSheetDialog {
public CustomWidthBottomSheetDialog(@NonNull Context context, @StyleRes int theme) {
super(context, theme);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
int width = getContext().getResources().getDimensionPixelSize(R.dimen.bottom_sheet_width);
getWindow().setLayout(width > 0 ? width : ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT);
}
}
}
于 2021-04-16T05:59:26.347 回答