У меня есть файл макета Activity_main. xml, который состоит из полноэкранного фрагмента сцены и фрагмента узла навигации для «меню», которое занимает 80% экрана, когда оно открыто. У меня есть кнопка, чтобы открыть «меню». Затем я хочу, чтобы меню NavHostFragment
/ скользило снизу. Когда я закрываю его, я хочу, чтобы NavHostFragment
/ меню выдвинулось вниз.
Это код деятельности. xml файл
<fragment
android:id="@+id/sceneform_fragment"
android:name="com.google.ar.sceneform.ux.ArFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<fragment
android:id="@+id/fragment_menu_nav_host"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:defaultNavHost="true"
android:layout_marginTop="100dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:navGraph="@navigation/menu_navigation" />
</androidx.constraintlayout.widget.ConstraintLayout>
Что я пробовал
Создание потрясающих анимаций с использованием ConstraintLayout и ConstraintSet: https://proandroiddev.com/creating-awesome-animations-using-constraintlayout-and-constraintset-part-i-390cc72c5f75
Это, кажется, нарушает работу AR, поскольку мне нужен другой файл макета для того же Sceneform
фрагмента ,
Я также попытался сохранить NavHostFragment
в FragmentContainerView
и анимировать транзакцию фрагмента. Однако, если NavHostFragment
не находится в макете activity_main
напрямую, кнопка «Назад» в телефоне не работает для навигации, похоже, что фрагменты не добавляются в «стек навигации».
Заранее спасибо!