我一直在尝试在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)按钮,如下所示
如果有人能帮助我,我真的很感激。
答案 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>