从onActivityResult返回后,带有BottomSheetBehavior的视图显示在屏幕中央

时间:2018-09-26 12:16:53

标签: android android-activity bottom-sheet

我在CoordinatorLayout上有活动,在其中我将FrameLayout与BottomSheetBehavior一起放置。我将此FrameLayout用作弹出视图的根视图,因此它们的行为类似于BottomSheetDialog。在我打开另一个结果活动并返回到具有结果的活动之前,它工作正常。之后,所有以该FrameLayout为根的视图都显示在屏幕中央而不是底部?这可能是什么原因并解决?如果我只单击主页按钮并重新打开应用程序,则不会出现该问题。代码如下:https://gist.github.com/yusufabd/d4fca0e3d163bd5fff0ecffea7935ceb

活动中有showCard()方法,该方法处理BottomSheetBehavior和showFeedbackCard(),showTipCard()和showRateCard(),在此我以FrameLayout(lCard)为根构建视图

1 个答案:

答案 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);