2015-07-20 94 views
0

下面是我嘗試過的,框架佈局是片段..並且該片段在屏幕上顯示列表。當滾動列表我希望工具欄隱藏...下面的代碼是行不通的,我做錯了什麼。我正在關注教程沒有隱藏在滾動中的Android應用工具欄

  <?xml version="1.0" encoding="utf-8"?> 
      <android.support.design.widget.CoordinatorLayout  
      xmlns:android="http://schemas.android.com/apk/res/android" 
      xmlns:app="http://schemas.android.com/apk/res-auto" 
      android:id="@+id/main_content" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:fitsSystemWindows="true"> 
       <android.support.v4.widget.DrawerLayout 
       xmlns:android="http://schemas.android.com/apk/res/android" 
       android:id="@+id/drawer_layout" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:fitsSystemWindows="true" > 
       <LinearLayout 
       android:layout_width="match_parent" 
        android:layout_height="match_parent" 
       android:orientation="vertical" > 
        <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:fitsSystemWindows="true"> 
     <android.support.v7.widget.Toolbar 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      xmlns:app="http://schemas.android.com/apk/res-auto" 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      app:layout_scrollFlags="scroll|enterAlways" 
      android:background="@color/purple2" 
      android:minHeight="56dp" 
      app:popupTheme="@style/ThemeOverlay.AppCompat.Light"     
      android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
      app:titleTextAppearance="@style/ToolbarTitle" > 
     </android.support.v7.widget.Toolbar> 
     </android.support.design.widget.AppBarLayout> 
     <FrameLayout 
      android:id="@+id/frame_container" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" /> 
    </LinearLayout> 
    <LinearLayout 
     android:id="@+id/line1" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:fitsSystemWindows="true" 
     android:orientation="vertical" > 
      <ListView 
       android:id="@+id/list" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:divider="@null" 
       android:dividerHeight="0dp" /> 
     < /LinearLayout>  
     </android.support.v4.widget.DrawerLayout> 
    </android.support.design.widget.CoordinatorLayout> 

回答

0

您錯過了要滾動的內容的指示符。

app:layout_behavior="@string/appbar_scrolling_view_behavior"添加到您的ListView和一切應該工作。

*編輯*

經進一步調查,我發現,基本問題是ListView控件。它不執行NestedScrollingChild,因此滾動行爲將不起作用。

您可以做的最好的方法是將ListView轉換爲RecyclerView,其中LinearLayoutManager(基本上看起來相同)。

另一種選擇是在Java代碼中添加:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { listView.setNestedScrollingEnabled(true); }

但當然只能在棒棒糖工作。

+0

仍然無法工作 – user3278732

+0

我還將它添加到我的框架佈局中,作爲其列表所在的片段。 – user3278732

相關問題