2016-09-10 21 views
0

私はこのような質問は何千もあると知っていますが、私はすべてを試みましたが、私は解決策を考え出すことができませんでした。 基本的に私はNoActionBarスタイルのアクティビティを使用しています。透明なステータスバーとCollapsingToolbarLayout

のstyles.xml:

<resources> 

<style name="AppTheme" parent="Theme.AppCompat.Light"> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
</style> 

<style name="AppTheme.NoActionBar"> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
</style> 

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Light"/> 

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light"/> 

<style name="AppTheme.Dialog" parent="Theme.AppCompat" /> 

V21 /のstyles.xml:

<style name="AppTheme" parent="Theme.AppCompat.Light"> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    <item name="android:windowDrawsSystemBarBackgrounds">true</item> 
    <item name="android:statusBarColor">@android:color/transparent</item> 
</style> 

<style name="AppTheme.NoActionBar"> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
    <item name="android:statusBarColor">@android:color/transparent</item> 
    <item name="android:windowDrawsSystemBarBackgrounds">true</item> 
</style> 

家の活動が細かいと引き出しがで正しく開きます。透明ステータスバー:

<android.support.v4.widget.DrawerLayout 
android:id="@id/drawer_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" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="true" 
tools:openDrawer="start"> 

<include 
    layout="@layout/app_bar_main" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"/> 

<android.support.design.widget.NavigationView 
    android:id="@id/nav_view" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" 
    app:headerLayout="@layout/nav_header_main" 
    android:fitsSystemWindows="true" 
    app:menu="@menu/main"/> 

問題は、次のレイアウトを使用して別のアクティビティにある:基本的にステータスバーが私のcolorPrimaryは白ですので、私はそれを見ることができない透明である

<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:layout_height="match_parent" 
android:fitsSystemWindows="true"> 

<android.support.design.widget.AppBarLayout 
    android:id="@id/app_bar_layout" 
    android:layout_width="match_parent" 
    android:fitsSystemWindows="true" 
    android:layout_height="230dp"> 

    <android.support.design.widget.CollapsingToolbarLayout 
     android:id="@id/collapsing_toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="230dp" 
     app:contentScrim="?attr/colorPrimary" 
     android:fitsSystemWindows="true" 
     app:layout_scrollFlags="scroll|exitUntilCollapsed|snap"> 

     <ImageView 
      android:id="@id/tab_image" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:scaleType="fitCenter" 
      android:layout_marginTop="20dp" 
      android:layout_gravity="center_vertical|center_horizontal" 
      app:layout_collapseMode="parallax"/> 

     <include 
      android:id="@id/toolbar_main" 
      layout="@layout/toolbar_main"/> 

     <android.support.design.widget.TabLayout 
      android:id="@id/tab_layout" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:layout_gravity="bottom"/> 

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

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

<android.support.v4.view.ViewPager 
    android:id="@id/viewpager" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior"/> 

<include layout="@layout/toolbar_search"/> 

<include layout="@layout/content_main"/> 

。奇妙なことに、ツールバーを折りたたんで(タブだけしか表示されない場合)、ステータスバーはcolorPrimaryDark(グレーの一種)で正しく色付けされます。

私はそれをどのように修正できるか考えていますか?

+0

ですから、ステータスが欲しいですバーは固定色ですか? –

答えて

1

ネヴァーマインド、私は透明度(各活動のマニフェストにスタイルを設定することを)したい活動に使用するV21 /スタイルで新しいスタイルを作成解か:

<style name="AppTheme.NoActionBarTransparency"> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
    <item name="android:statusBarColor">@android:color/transparent</item> 
</style> 

<style name="AppTheme.NoActionBar"> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
</style> 
+0

このスタイルをv19 'styles.xml'に入れて、古いデバイスでも動作させる必要があるかもしれません – blueware

関連する問題