【问题标题】:Android CoordinatorLayout, Listview and fixed toolbarAndroid CoordinatorLayout、Listview 和固定工具栏
【发布时间】:2017-09-17 13:39:21
【问题描述】:

我有一个布局,顶部有一个工具栏,下面是 2 个工具栏大小的栏,下面是一个列表视图。当有人在列表视图上滚动时,工具栏下的 2 个栏应该向上滚动并在工具栏下消失。

我尝试将 app:layout_scrollFlags="scroll|enterAlways" 仅放在那些栏而不是工具栏上,但它们不会响应滚动事件。 如果我也将相同的 scrollFlags 放在工具栏上,它们都会响应,但我希望工具栏始终显示。 如果我将两个栏移到工具栏上方,它可以工作,只有两个栏响应,但现在工具栏位于栏下方,这不是我想要的显示。

【问题讨论】:

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

标签: android toolbar coordinator-layout


【解决方案1】:

尝试将您想要保持静止的工具栏放在您的应用栏下方的顶部。您的 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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-20
    • 2017-08-29
    • 2023-04-03
    • 2015-10-09
    • 1970-01-01
    • 2019-02-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多