【问题标题】:BottomSheetDialogFragment In Tablet Landscape平板电脑风景中的 BottomSheetDialogFragment
【发布时间】:2021-04-16 05:45:43
【问题描述】:

可以改变BottomSheetDialogFragment(材料设计)宽度的宽度吗?在平板电脑横向模式下,宽度为 match_parent。谢谢

【问题讨论】:

    标签: android kotlin bottomsheetdialogfragment


    【解决方案1】:

    底部床单在手机上看起来很棒。但是当把它们放在平板电脑上时, 他们感觉被拉长了,尤其是在横向模式下。这是由于 窥视高度与整个平板电脑宽度之间的高比率。细节很重要, 我们希望我们的平板电脑用户和手机用户一样快乐。让我们定制 平板电脑的底部宽度。

    values-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);
        }
      }
    }
    

    Source

    【讨论】:

    • 谢谢你的回答,它在 Java 中工作,所以我会尝试将它转换成 Kotlin,因为我在我的项目中使用它。
    猜你喜欢
    • 1970-01-01
    • 2011-10-02
    • 2011-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-13
    • 1970-01-01
    相关资源
    最近更新 更多