我在CoordinatorLayout上有活动,在其中我将FrameLayout与BottomSheetBehavior一起放置。我将此FrameLayout用作弹出视图的根视图,因此它们的行为类似于BottomSheetDialog。在我打开另一个结果活动并返回到具有结果的活动之前,它工作正常。之后,所有以该FrameLayout为根的视图都显示在屏幕中央而不是底部?这可能是什么原因并解决?如果我只单击主页按钮并重新打开应用程序,则不会出现该问题。代码如下:https://gist.github.com/yusufabd/d4fca0e3d163bd5fff0ecffea7935ceb
活动中有showCard()方法,该方法处理BottomSheetBehavior和showFeedbackCard(),showTipCard()和showRateCard(),在此我以FrameLayout(lCard)为根构建视图
答案 0 :(得分:2)
将此添加到您的活动onResume
方法中
try {
behavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
}catch (Exception e){}
这里behavior
是您的底线行为
下面的代码让您知道behavior
是什么:
bottomSheet = coordinatorLayout.findViewById(R.id.bottom_sheet);
behavior = BottomSheetBehavior.from(bottomSheet);