全屏底片碎片

时间:2016-12-24 12:44:25

标签: android android-fragments

我一直在尝试在Android中实现底部片段,并且默认情况下无法将其缩放到全屏。我甚至试图将它的状态设置为STATE_EXPANDED

public void setupDialog(Dialog dialog, int style) {
       super.setupDialog(dialog, style);
       View v = View.inflate(getContext(), R.layout.fragment_my_bottom_sheet_dialog, null);
       dialog.setContentView(v);

       CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) ((View) v.getParent()).getLayoutParams();
       CoordinatorLayout.Behavior behavior = params.getBehavior();

       if (behavior != null && behavior instanceof BottomSheetBehavior) {
           Log.d(TAG, "Inside if");
           ((BottomSheetBehavior) behavior).setState(BottomSheetBehavior.STATE_EXPANDED);
           ((BottomSheetBehavior) behavior).setBottomSheetCallback(mBottomSheetCallback);
       }
   }

但这会弄乱从底部向上漂浮的纸张动画。我正在尝试使用全屏和工具栏创建一个模态底部工作表,其中包含一个关闭(X)按钮,如下所示

Full screen bottom sheet

如果有人能帮助我,我真的很感激。

1 个答案:

答案 0 :(得分:1)

我可以确定的是您希望Sliding Up Panel执行设置。我强烈建议你使用umano的Android Sliding Up Panel库。 它有2个孩子。一个用于活动/片段,另一个用于小组。

<com.sothree.slidinguppanel.SlidingUpPanelLayout
    xmlns:sothree="http://schemas.android.com/apk/res-auto"
    android:id="@+id/sliding_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="bottom"
    sothree:umanoPanelHeight="68dp"
    sothree:umanoShadowHeight="4dp">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:text="Main Content"
        android:textSize="16sp" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center|top"
        android:text="The Awesome Sliding Up Panel"
        android:textSize="16sp" />
</com.sothree.slidinguppanel.SlidingUpPanelLayout>