2015-11-24 3 views
6

Ich verwende CoordinatorLayout mit RelativeLayout, um unten eine Anzeige anzuzeigen. Aber was ich bekomme, ist eine weiße Statusleiste. Wenn ich das relative Layout und die Adview entfernt habe, funktioniert alles einwandfrei. Während ich CoordinatorLayout in RelativeLayout einpacke, erhält ich eine weiße Statusleiste.Weiße Statusleiste bei Verwendung von Admob im Aktivitätslayout

Mit API v23 (Eibisch)

Ich fand auch ähnliche Frage hier: Status bar turns white and does not show content behind it

Das Layout ich schaut hier auf die Antwort ähnlich verwendet: https://stackoverflow.com/a/31065486/1820644

Aber hat mir nicht geholfen. Ich bekomme immer noch die weiße Statusleiste.

Meine activity_layout.xml Datei:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:ads="http://schemas.android.com/apk/res-auto" 
    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:context="com.testapp.EventActivity"> 

    <android.support.design.widget.CoordinatorLayout 
     android:id="@+id/main_content" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_above="@+id/adView"> 

     <android.support.design.widget.AppBarLayout 
      android:id="@+id/appbar" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:theme="@style/AppTheme.AppBarOverlay"> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       android:background="?attr/colorPrimary" 
       app:layout_scrollFlags="scroll|enterAlways" 
       app:popupTheme="@style/AppTheme.PopupOverlay" /> 

      <android.support.design.widget.TabLayout 
       android:id="@+id/tabs" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" /> 

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

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

     <android.support.design.widget.FloatingActionButton 
      android:id="@+id/fab" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="end|bottom" 
      android:layout_margin="@dimen/fab_margin" 
      android:src="@drawable/btn_plus_add" /> 

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

    <com.google.android.gms.ads.AdView 
     android:id="@+id/adView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     ads:adSize="SMART_BANNER" 
     ads:adUnitId="@string/banner_ad_test_id" /> 

</RelativeLayout> 

enter image description here

Vielen Dank im Voraus!

Antwort

10

Nach dem Versuch fast alle Layouts, Verschachtelung Layouts, war die Sache, die schließlich funktionierte Putting ein CoordinatorLayout als die Wurzel und setzen ein anderes CoordinatorLayout innerhalb es über AdView.

Die Layout-Hierarchie, die ich verwendet, ist so etwas wie dieses:

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

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <android.support.design.widget.CoordinatorLayout 
      .... 
      android:layout_above="@+id/adView"> 

      <android.support.v4.view.ViewPager 
       ... /> 

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

     <com.google.android.gms.ads.AdView 
      android:id="@+id/adView" 
      ... /> 

    </RelativeLayout> 

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

So wie CoordinatorLayout als Wurzel macht es sicher, dass der Statusbar Farbe.

Was ich zu erreichen versuchte, durch Verschachtelung von CoordinatorLayout getan und CoordinatorLayout als Wurzelelement Aktivität Layout.

Voll Code meiner Layout-Datei:

<android.support.design.widget.CoordinatorLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:ads="http://schemas.android.com/apk/res-auto" 
    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:context="com.testapp.EventActivity"> 

    <RelativeLayout 
     android:id="@+id/main_content" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <android.support.design.widget.CoordinatorLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_above="@+id/adView"> 

      <android.support.design.widget.AppBarLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:theme="@style/AppTheme.AppBarOverlay"> 

       <android.support.v7.widget.Toolbar 
        android:id="@+id/toolbar" 
        android:layout_width="match_parent" 
        android:layout_height="?attr/actionBarSize" 
        android:background="?attr/colorPrimary" 
        app:layout_scrollFlags="scroll|enterAlways" 
        app:popupTheme="@style/AppTheme.PopupOverlay" /> 

       <android.support.design.widget.TabLayout 
        android:id="@+id/tabs" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" /> 

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

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

      <android.support.design.widget.FloatingActionButton 
       android:id="@+id/fab" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="end|bottom" 
       android:layout_margin="@dimen/fab_margin" 
       android:src="@drawable/btn_plus_add" /> 

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

     <com.google.android.gms.ads.AdView 
      android:id="@+id/adView" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true" 
      android:layout_centerHorizontal="true" 
      ads:adSize="SMART_BANNER" 
      ads:adUnitId="@string/banner_ad_bottom_event" /> 

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

Es stellte sich schließlich zu sein sieht wie folgt aus:

enter image description here

+0

es funktioniert auch mit einem einzigen Koordinator Layout und ohne relativelayout alle an. – Mikhail