1

UPDATE: burada bir example app olduğunu. Nexus 6P, Android 6.0.1Translucent Gezinme doğruysa, AppBarLayout araç çubuğu kaydırma yapmıyor

üzerinde test ettim, CoordinatorLayout ve RecyclerView kullanıyorum. <item name="android:windowTranslucentNavigation">true</item> araç çubuğu gizlenmiyorsa (ama bunun yerine kaydırılabilir durumdadır). Bunun bazı sorunları ile çalışır android:fitsSystemWindows="true"AppBarLayout eklersek 23.2.1

<android.support.design.widget.CoordinatorLayout 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"> 

    <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:layout_height="wrap_content" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      app:layout_scrollFlags="scroll|enterAlways" 
      app:popupTheme="@style/AppTheme.PopupOverlay" /> 

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

    <android.support.v7.widget.RecyclerView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 

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

: AppCompat v7 olduğunu.

Herhangi bir çözüm var mı?

Sistem çubuğu bindirmeleri enter image description here

enter image description here

+0

Soruna çözüm bulabilir misiniz? – atabek

cevap

1

bu bir hata olduğunu görünüyor enter image description here

Ve araç çubuğu ile CoordinatorLayout (belki) kaydırır alt ve üst kenarların vardır araç çubuğu. Problem için geçici bir çözüm buldum. Koordinatör Düzeni ve çocuklarda fitsSystemWindows veya yanlış bunları ayarlayın:

tüm android kurtulun. statusbar yüksekliği elde etmek

toolbar.setPadding(0, getStatusBarHeight(), 0, 0); 
toolbar.getLayoutParams().height = toolbar.getLayoutParams().height + getStatusBarHeight(); 

yöntemi:: Ve sonra aktivitede el araç çubuğunun yüksekliği ve üst dolgu için statusbar yüksekliğini eklemek Bu değişikliklerle

public int getStatusBarHeight() { 
    int height = 0; 
    int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android"); 
    if (resourceId > 0) { 
     height = getResources().getDimensionPixelSize(resourceId); 
    } 
    return height; 
} 

, araç çubuğu düzgün kaydırma edilir ve uygun yüksekliğe sahiptir.