2015-06-17 39 views
9

在我 activity_main.xml中包括DrawerLayoutCoordinatorLayout稱爲 content_layout.xml。在這個CoordinatorLayout是我AppBarLayout含有Toolbar,那麼對於一個片段的內容LinearLayoutCoordinatorLayout工具欄上輸入看不見,直到全高度

當含有RecyclerView一個片段向上滾動,工具欄成功退出。問題在於向下滾動工具欄時出現問題。該工具欄沒有出現,直到工具欄的整個高度已滾動,因此留下難看的白盒在它的位置,如圖所示。

toolbar http://i59.tinypic.com/33xil5d.png

content_layout.xml

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

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

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

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

    <!-- The main content view for fragments--> 
    <LinearLayout 
     android:id="@+id/content_frame" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"/> 

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

工具欄通過MainActivityonCreate()初始化:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
setSupportActionBar(toolbar); 
getSupportActionBar().setHomeButtonEnabled(true); 
getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

我將不勝感激任何建議,解決這個。謝謝。

回答

13

我有這個相同的問題,我發現解決它的唯一的東西是除內的toolbar以外的東西。我在工具欄下方的佈局中放置了一個不可見的視圖。不是最理想的解決方案,但它工作。

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

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

    <View 
     android:id="@+id/appbar_bottom" 
     android:layout_width="match_parent" 
     android:layout_height="1dp" 
     android:background="@android:color/transparent" 
     android:visibility="invisible"/> 

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

這是輝煌的,謝謝!很棒。雖然,像你一樣,我不完全確定爲什麼。 – McGuile

+0

真棒THX這一點。 你也可以把高度要0.1dp所以它不會是在所有可見的(以及幾乎在所有的;)) – zoroz

+1

非常感謝@喬恩科代羅 –

相關問題