2017-04-20 60 views
0

我有一个布局,其顶部有一个工具栏,后面跟着2个工具栏大小的栏以及下面的列表视图。当某人在列表视图上滚动时,工具栏下的2个栏应向上滚动并在工具栏下消失。Android CoordinatorLayout,ListView和固定工具栏

我试着把这个应用程序:layout_scrollFlags =“scroll | enterAlways”只在这些栏上,而不是在工具栏上,但是他们没有响应滚动事件。 如果我在工具栏上放置了相同的scrollFlags,它们都会响应,但我希望工具栏始终显示。 如果我移动工具栏上方的两个横条,它将起作用,只有两个横条响应,但现在工具栏位于横条下方,这不是我想要的显示。

+0

发布您的布局xml代码以获得快速解决方案。 – FAT

回答

0

尝试将要保留的工具栏放在应用条下方的顶部。你的AppBar包含你真正想要滚动的视图,而另一个会在它下面。确保让您的应用栏具有0dp的海拔高度,否则它将显示在其上方(或将工具栏的高度更改为高于应用栏)。还要将您希望保留在顶部的酒吧的高度添加为应用程序栏的顶部边距,以便在您查看的下方开始。

<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">  

    <!--Toolbars you want to move--> 
    <android.support.design.widget.AppBarLayout 
     android:id="@+id/app_bar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/AppTheme.AppBarOverlay" 
     android:layout_marginTop="?attr/actionBarSize" 
     app:elevation="0dp"> 

      <android.support.v7.widget.Toolbar 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       android:background="@android:color/holo_blue_light" 
       android:layout_gravity="bottom" 
       app:layout_scrollFlags="scroll|enterAlways" 
       /> 

     <android.support.v7.widget.Toolbar 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       android:background="@android:color/holo_orange_light" 
       android:layout_gravity="bottom" 
       app:layout_scrollFlags="scroll|enterAlways" 
       app:elevation="2dp" 
       /> 

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

    <!--Toolbar you don't want to move--> 
    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:layout_gravity="top" 
     android:background="@color/wallet_bright_foreground_holo_light" 
     app:popupTheme="@style/AppTheme.PopupOverlay" 
     /> 

    <!--Your content here --> 
    <FrameLayout 
     android:id="@+id/frameLayout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"> 
     <include layout="@layout/item_list" /> 
    </FrameLayout> 
</android.support.design.widget.CoordinatorLayout> 
相关问题