Вид с BottomSheetBehavior отображается в центре экрана после возврата из onActivityResult
У меня есть активность с CoordinatorLayout, где я поместил FrameLayout с BottomSheetBehavior. Я использую этот FrameLayout в качестве корневого представления для моих всплывающих окон, чтобы они вели себя как BottomSheetDialog. Работает нормально, пока я не открою другое действие для результата и не вернусь к своему действию с результатом. После этого все представления с этим FrameLayout в качестве root отображаются в центре экрана, а не внизу? Что может быть причиной и исправить это? Проблема не появится, если я просто нажму кнопку "Домой" и снова открою приложение. Вот код: https://gist.github.com/yusufabd/d4fca0e3d163bd5fff0ecffea7935ceb
В действии есть метод showCard(), который обрабатывает BottomSheetBehavior и showFeedbackCard(), showTipCard () и showRateCard(), где я строю представление с FrameLayout (lCard) в качестве его корня
1 ответ
Добавь это в свою деятельность onResume
метод
try {
behavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
}catch (Exception e){}
Вот behavior
ваше поведение нижнего листа
код ниже, чтобы вы знали, что behavior
является:
bottomSheet = coordinatorLayout.findViewById(R.id.bottom_sheet);
behavior = BottomSheetBehavior.from(bottomSheet);