在我最新的应用程序中,我决定在整个导航过程中都使用Conductor。这是一个单一活动的应用程序,除了启动屏幕外,其他所有功能都可以正常工作-由于某些原因,即使主布局和控制器主机都是带有适当{{1}的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>
第一个启动布局不会在状态栏下拉伸内容(自定义图像层设置),但是在第二个启动(SplashLanding)屏幕上,它已正确拉伸-由于我使用共享元素过渡,因此在背景上也有很好的图像调整大小效果。
哪里出问题了?