0

Я пытаюсь установить изображение на разборную панель инструментов, которая отображается за прозрачной панелью состояния для> 23api. Но даже после настройки прозрачности в файле styles.xml и применения темы из манифеста для работы и установки fitSystemWindows в макете для просмотра изображений и collapsingToolbar изображение не применяется к строке состояния. XML и скриншот того, как он выглядит:Прозрачная строка состояния с изображением в сворачиваемой панели инструментов

layout.xml

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

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/app_bar_layout" 
     android:layout_width="match_parent" 
     android:layout_height="250dp" > 

     <android.support.design.widget.CollapsingToolbarLayout 
      android:id="@+id/collapsing_toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      app:contentScrim="?attr/colorPrimary" 
      app:expandedTitleMarginStart="48dp" 
      app:expandedTitleMarginEnd="64dp" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

      <ImageView 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:scaleType="centerCrop" 
       android:fitsSystemWindows="true" 
       android:id="@+id/movie_banner" 
       app:layout_collapseMode="parallax" /> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar" 
       android:layout_width="match_parent" 
       app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
       android:layout_height="?attr/actionBarSize" 
       app:layout_collapseMode="pin" /> 

     </android.support.design.widget.CollapsingToolbarLayout> 

    </android.support.design.widget.AppBarLayout> 

    <android.support.v4.widget.NestedScrollView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="#ffe5e5e5" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="vertical" 
      android:paddingTop="10dp"> 
      <android.support.v7.widget.RecyclerView 
       android:id="@+id/movies_details_recycler" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:scrollbars="vertical"/> 
     </LinearLayout> 

    </android.support.v4.widget.NestedScrollView> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/fab" 
     app:layout_anchor="@id/app_bar_layout" 
     app:layout_anchorGravity="bottom|right|end" 
     style="@style/FabStyle"/> 

</android.support.design.widget.CoordinatorLayout> 

styles.xml

<style name="AppTheme.NoActionBar" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="android:windowDrawsSystemBarBackgrounds">true</item> 
    <item name="android:windowTranslucentStatus">true</item> 
    <item name="android:textColorPrimary">@android:color/white</item> 
</style> 

Вот как это выглядит на моем телефоне.

Image not setting on transparent statusbar

-------------------- Обновление -------------------- Ответ Яксона решил частично. Теперь изображение устанавливается в строку состояния, когда панель инструментов прокручивается, но, как только она полностью вставлена, я вижу, как изображение ниже. Обратите внимание, что панель действий также немного продвинулась. мне нужно достигнуть что-то вроде этого: image set over statusbar enter image description here

+0

показать ваш последний xml –

+0

Спасибо за ответ. Он работает сейчас. Очевидно, пропустил fitSystemWindows в appbarlayout. Сейчас работает хорошо. – Vijai

ответ

3

создать папку значения-V21 в разрешении папка

и применить эту тему к текущей деятельности

<resources> 

    <style name="Theme.DesignDemo" parent="Base.Theme.DesignDemo"> 
     <item name="android:windowDrawsSystemBarBackgrounds">true</item> 
     <item name="android:statusBarColor">@android:color/transparent</item> 
    </style> 

</resources> 

в вашем styles.xml

<style name="Theme.DesignDemo" parent="Base.Theme.DesignDemo"> 
    </style> 

    <style name="Base.Theme.DesignDemo" parent="Theme.AppCompat.DayNight.NoActionBar"> 
     <item name="colorPrimary">#673AB7</item> 
     <item name="colorPrimaryDark">#512DA8</item> 
     <item name="colorAccent">#FF4081</item> 
    </style> 

также установить fitsystemwindows в CoordinatorLayout, AppBarLayout, CollapsingToolbarLayout и ImageView

android:fitsSystemWindows="true" 
+0

Спасибо за ответ. Это частично решило мою проблему. вы можете проверить мой обновленный вопрос? – Vijai

0

Используйте

android:theme="@style/AppTheme.Transparent.NoActionBar" 

и

в styles.xml

<style name="AppTheme.Transparent.NoActionBar"> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
</style> 
Смежные вопросы