Вид с BottomSheetBehavior отображается в центре экрана после возврата из onActivityResult - PullRequest
0 голосов
/ 26 сентября 2018

У меня есть активность с CoordinatorLayout, где я поместил FrameLayout с BottomSheetBehavior.Я использую этот FrameLayout в качестве корневого представления для моих всплывающих окон, чтобы они вели себя как BottomSheetDialog.Работает нормально, пока я не открою другое действие для результата и не вернусь к своему действию с результатом.После этого все представления с этим FrameLayout в качестве root отображаются в центре экрана, а не внизу?Что может быть причиной и исправить это?Проблема не появится, если я просто нажму кнопку «Домой» и снова открою приложение.Вот код: https://gist.github.com/yusufabd/d4fca0e3d163bd5fff0ecffea7935ceb

В действии есть метод showCard (), который обрабатывает BottomSheetBehavior и showFeedbackCard (), showTipCard () и showRateCard (), где я строю представление с FrameLayout (lCard) в качестве его корня

1 Ответ

0 голосов
/ 26 сентября 2018

добавьте это в свою деятельность onResume метод

   try {

        behavior.setState(BottomSheetBehavior.STATE_COLLAPSED);

        }catch (Exception e){}

здесь behavior - это ваше поведение на нижнем листе

код ниже, чтобы вы знали, что такое behavior:

    bottomSheet = coordinatorLayout.findViewById(R.id.bottom_sheet);
    behavior = BottomSheetBehavior.from(bottomSheet);
...