BottomSheetDialogFragment设置高度

博客主要介绍了BottomSheetDialogFragment设置高度的方法,包括将其设置为屏幕百分比高度和固定高度两种方式,为相关开发提供了高度设置的思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

BottomSheetDialogFragment设置高度

BottomSheetDialogFragment设置高度

设置为屏幕百分比高度

   @Override
    public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        BottomSheetDialog dialog = (BottomSheetDialog) super.onCreateDialog(savedInstanceState);
        View view = View.inflate(getContext(), R.layout.fragment_eos_pay_dialog, null);
       // amount = view.findViewById(R.id.amount);
     //   pay_root = view.findViewById(R.id.pay_root);
        dialog.setContentView(view);
        dialog.getWindow().findViewById(R.id.design_bottom_sheet)
                .setBackgroundResource(android.R.color.transparent);
        mBehavior = BottomSheetBehavior.from((View) view.getParent());
        ViewGroup.LayoutParams layoutParams = view.getLayoutParams();
        int height = (int) (getResources().getDisplayMetrics().heightPixels * 0.6);//屏幕高的60%
        layoutParams.height = height;
        view.setLayoutParams(layoutParams);

        return dialog;

    }

设置固定高度

    @Override
    public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        BottomSheetDialog dialog = (BottomSheetDialog) super.onCreateDialog(savedInstanceState);
        View view = View.inflate(getContext(), R.layout.fragment_eos_pay_resource_dialog, null);
    
        dialog.setContentView(view);
        dialog.getWindow().findViewById(R.id.design_bottom_sheet)
                .setBackgroundResource(android.R.color.transparent);
        mBehavior = BottomSheetBehavior.from((View) view.getParent());
         mBehavior.setPeekHeight(dp2px(460));//高度为460dp

        return dialog;

    }

   public static int dp2px(float dpValue) {
        final float scale = getDisplayMetrics().density;
        return (int) (dpValue * scale + 0.5f);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值