В моем последнем приложении я решил использовать Conductor для всей навигации.Это приложение с одним действием, и все работает отлично, за исключением заставки - по какой-то причине первоначальный контроллер отказывается растягиваться под строкой состояния, даже несмотря на то, что основной макет и хост контроллера оба - CoordinatorLayouts с соответствующими fitsSystemWindows
флагами.
Активность хоста:
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="viewModel"
type="net.fonix232.app.viewmodel.MainViewModel" />
</data>
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?android:attr/windowBackground"
android:fitsSystemWindows="true">
<net.fonix232.app.common.ChangeHandlerCoordinatorLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</layout>
Макет контроллера всплеска:
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<variable
name="viewModel"
type="net.fonix232.app.viewmodel.SplashViewModel" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?android:attr/windowBackground"
android:fitsSystemWindows="true">
[... splash content ...]
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
Экран после заставки:
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<variable
name="viewModel"
type="net.fonix232.app.viewmodel.SplashLandingViewModel" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?android:attr/windowBackground"
android:fitsSystemWindows="true">
[... splash landing content ...]
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
ПервыйКомпоновка заставки не растягивает содержимое (пользовательскую настройку слоя изображения) под строкой состояния, однако на втором экране заставки оно правильно растягивается - и так как я использую переход общего элемента, я получаю хороший эффект изменения размера изображения натакже фон.
Где это идет не так?