setfitsystemwindows not working windowtranslucentstatus coordinatorlayout

时间:2016-02-26 19:25:29

标签: android android-support-library statusbar android-collapsingtoolbarlayout

我正在开发一个小型的Android项目。我在显示状态栏下方的工具栏时遇到一些问题。我使用以下配置:

  • 支持库版本23.2.0
  • windowTranslucentStatus = true

    

<CollapsingToolbarLayout fitSystemWindows="true" ...>
<FrameLayout fitSystemWindows="true" ...>
<ViewPager>
....consists a fragment with framelayout and image
</ViewPager>

<Toolbar fitSystemWindows="true" ...>

</FrameLayout>

<CollapsingToolbarLayout fitSystemWindows="true"...>
.....
</AppBarLayout>
</CoordinatorLayout>`

Image is displayed correctly but not the toolbar

<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:fitsSystemWindows="true">

<android.support.design.widget.AppBarLayout
    android:id="@+id/fragment_musicplayer_appBarlayout_test"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:fitsSystemWindows="true">

<android.support.design.widget.CollapsingToolbarLayout
    android:id="@+id/fragment_musicexplorer_album_collapsingtoolbarlayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    app:contentScrim="#eab22b"
    app:expandedTitleMarginStart="48dp"
    app:expandedTitleMarginEnd="64dp"
    app:layout_scrollFlags="scroll|exitUntilCollapsed">

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_collapseMode="parallax"
        android:fitsSystemWindows="true">
        <android.support.v4.view.ViewPager
            android:id="@+id/fragment_musicplayer_viewpager_test"
            android:layout_width="match_parent"
            android:layout_height="450dp" />

        <android.support.v7.widget.Toolbar
        android:id="@+id/fragment_musicplayer_toolbar_test"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="@android:color/transparent"
        android:fitsSystemWindows="true" />
    </FrameLayout>
</android.support.design.widget.CollapsingToolbarLayout>

1 个答案:

答案 0 :(得分:0)

如果您将某些android:fitsSystemWindows="true"更改为 android:fitsSystemWindows="false" ,则可能会有效。

我在支持库版本 23.2.0 时遇到了与您类似的问题,然后搜索了StackOverflow;找到了你的问题。

我的情况与你的情况相反,因为我的情况并不需要上边距,但它有。虽然我设置android:fitsSystemWindows="false",但没有任何改变。

但我发现你设置了 windowTranslucentStatus = true ,我也是如此。这是一个关键线索。

我敢于将android:fitsSystemWindows="false"更改为android:fitsSystemWindows="true"。它奏效了。

可能是android:fitsSystemWindows的行为已被更改。可能在windowTranslucentStatus = true时已被反转。

- 但仍存在问题。折叠工具栏时,工具栏的底部边界仍然错误对齐。我被迫放弃使用windowTranslucentStatus = true ......

编辑23.2.1已发布,底层问题已解决。但上述 android:fitsSystemWindows 的行为被颠倒的建议仍然是正确的。