2017-04-20 2 views
0

Ich habe ein Layout, das oben eine Symbolleiste hat, gefolgt von 2 Symbolleisten großen Balken darunter und eine Listview darunter. Wenn jemand in der Listenansicht scrollt, sollten die 2 Balken unter der Symbolleiste nach oben scrollen und unter der Symbolleiste verschwinden.Android CoordinatorLayout, Listview und feste Symbolleiste

Ich habe versucht, die App: layout_scrollFlags = "scroll | enterAlways" nur auf diese Balken und nicht auf die Symbolleiste, aber sie reagieren nicht auf Scroll-Ereignisse. Wenn ich auch die gleichen scrollFlags auf der Symbolleiste setzen, reagieren sie alle, aber ich möchte, dass die Symbolleiste immer angezeigt wird. Wenn ich die zwei Balken über der Symbolleiste verschiebe, funktioniert es und nur die zwei Balken reagieren, aber jetzt ist die Symbolleiste unterhalb der Balken und dies ist nicht die Anzeige, die ich will.

+0

Veröffentlichen Sie Ihren Layout-XML-Code, um eine schnelle Lösung zu erhalten. – FAT

Antwort

0

Versuchen Sie, die Toolbar, die Sie bleiben möchten, immer noch oben unter Ihrer AppBar zu platzieren. Ihre AppBar enthält die Ansichten, die Sie tatsächlich scrollen möchten, während die andere darunter ist. Stellen Sie sicher, dass Ihre App-Leiste eine Höhe von 0dp hat, sonst wird sie angezeigt und darüber angezeigt (oder ändern Sie die Höhe Ihrer Symbolleiste höher als die Appbar). Fügen Sie außerdem die Höhe des Balkens, der oben bleiben soll, als oberen Rand der Appleiste hinzu, sodass er unterhalb Ihrer Ansicht beginnt.

<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> 
Verwandte Themen