如何在 xml 中设置模态底页的宽度?

Posted

技术标签:

【中文标题】如何在 xml 中设置模态底页的宽度?【英文标题】:How to set width of a Modal Bottom Sheet in xml? 【发布时间】:2020-01-18 18:53:12 【问题描述】:

我正在尝试使底部工作表的宽度仅包含内容并显示在屏幕的右下角。我正在使用 android 平板电脑作为设备。我已经通过底层材料设计网站搜索了实现和 xml 中可以控制宽度的任何属性。我试图设置宽度来包装内容,但没有运气。

这是我要找的尺寸:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/bottom_sheet_layout"
    android:layout_
    android:layout_
    android:layout_gravity="end"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <com.google.android.material.textview.MaterialTextView
        android:id="@+id/bottom_sheet_text"
        android:layout_
        android:layout_
        android:text="This is a bottom sheet"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"/>

    <com.google.android.material.button.MaterialButton
        android:id="@+id/bottom_sheet_btn1"
        android:layout_
        android:layout_
        app:layout_constraintTop_toBottomOf="@id/bottom_sheet_text"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        />

    <com.google.android.material.button.MaterialButton
        android:id="@+id/bottom_sheet_btn2"
        android:layout_
        android:layout_
        app:layout_constraintTop_toBottomOf="@id/bottom_sheet_btn1"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        />

</androidx.constraintlayout.widget.ConstraintLayout>

【问题讨论】:

“模态底页”是指您使用的是BottomSheetDialog[Fragment]吗? 对,但是“模态”有一个特定的含义,它与实现无关。我在问你用什么来实现这一点。 忘掉模态部分。我只是问你用的是什么底片。您使用的是BottomSheetDialog[Fragment] 吗?或者这是View 内的CoordinatorLayoutBottomSheetBehavior?还有什么? 当然。但是,如果您这样做,则必须自己处理模态行为,因为它只是CoordinatorLayout 中的另一个View。对于Dialog,它本质上是模态的。仅供参考。干杯! 是的,谢谢您的信息!几个月前,我以同样的方式创建了一个底页片段。我只是忘了必须把它放在Coordinator Layout 中。 【参考方案1】:

只需使用library,我已经处理了制作此类材料组件的所有案例

【讨论】:

以上是关于如何在 xml 中设置模态底页的宽度?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 IE 中设置 svg+xml 图像的最大宽度?

如何在xml中设置复合可绘制文本视图的高度和宽度? [关闭]

如何在模态对话框中设置输入值?

如何创建具有自定义布局的模态底页?

如何在开始时在表格中设置分页的第 2 页

Android:根据宽度在 XML 中设置按钮高度