4

在我最近的应用程序中,我决定在整个导航中使用 Conductor。这是一个单一的活动应用程序,一切正常,除了启动屏幕 - 出于某种原因,初始控制器拒绝在状态栏下拉伸,即使主布局和控制器主机都是具有适当fitsSystemWindows标志的 CoordinatorLayouts。

主持人活动:

<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>

第一个初始布局不会拉伸状态栏下的内容(自定义图像层设置),但是在第二个初始(SplashLanding)屏幕上,它被正确拉伸 - 因为我使用共享元素转换,所以我得到了一个很好的图像调整大小对背景也有影响。

这哪里出错了?

4

0 回答 0