2015-07-25 20 views
8

Her şey sadece hedef için olduğunu varsayalım ve minSDK vesion sadece lolipop olduğunu.KeşfetmekSystemWindows ve şeffaf durum çubuğu android

ben oyun deposundan aşağıdaki ekrana benzer bir aktivite uygulamak çalışıyorum

istediğini.

enter image description here

Burada kahraman resmin odaklanıyorum. Gördüğünüz gibi, 1. kahraman görüntüsü durum çubuğunun arkasına çizilir. (Tamamen şeffaf. Koruma yok) 2. İçeriğin geri kalanı, durum çubuğunun altında çizilir. (Ör., Araç Çubuğu/ActionBar) 3. Kaydırma sırasında durum çubuğu renklidir. Ben GoogleIO uygulamasından ScrimInsetsFrameLayout kullandık

ne yaptın

. Bu mizanpaj etrafına kahraman resmimi sardım. Temamda uygun stil eklendi. Bu Ben hala fitsSystemWindows etiketi hakkında karıştı

  1. gerek ben

    enter image description here

    Yardım elde ediyoruz. Bunu kahraman görüntü düzeninde "true" olarak ayarladığımda hiçbir şey olmuyor. Bu durum çubuğu şeffaftır ancak görüntü durum çubuğunun altında çizilir. "Yanlış" olarak ayarlanırsa, yukarıdaki sonucu alırım. Bu etiketin kullanım alanını ve arkasını açıklayan net bir makale var mı?

  2. ScrimInsetFrameLayout üzerindeki "insetForeground" öğesini şeffaf olarak ayarlıyorum. Ayrıca temada durum çubuğu rengini şeffaf olarak ayarladım. Ama yine de görüntü üzerinde bir koruma var. Durum çubuğu nasıl tamamen şeffaf hale getirilir.

Lütfen bir işaretçiler veya demo projeler ile bana yardım et. Ayrıca açıklamam veya daha fazla bilgiye ihtiyacım olursa lütfen bildirin.

cevap

1

Bu benim için çalışır.

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

     <android.support.design.widget.AppBarLayout 
      android:id="@+id/appbar" 
      android:layout_width="match_parent" 
      android:layout_height="@dimen/detail_backdrop_height" 
      android:fitsSystemWindows="true" 
      android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

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

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

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

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

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

     <FrameLayout 
      android:id="@+id/fragmentContainer" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 

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

ve v-21

+0

Durum çubuğunun arkasında, üzerinde şeffaf bir görüntü bulunmayan bir görüntüye sahip olmak nasıldır? – iBobb

+1

ayar android: fitsSystemWindows = ImageVied'de "true", benim için ayarladı, teşekkürler – TomaszRykala

+0

Ekle, fistystemwidows değerini kullanmadan önce kullanabilmek için değerlerde21/styles.xml true Webserveis

0

araç çubuğu üst üste istemiyorum görünüme aşağıdaki satırı ekleyin styles.xml şeffaf renk ile statusBarColor niteliğini ayarlayın:

İlgili konular