Android应用工具栏未隐藏在滚动

时间:2015-07-20 15:11:34

标签: 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>

1 个答案:

答案 0 :(得分: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); }

但当然它只适用于棒棒糖。