滚动时的Android工具栏高度

投票

我尝试在Google Maps Android应用中实现搜索栏:

在此处输入图片说明

当“回收者”视图处于初始状态时,工具栏没有高程。仅当用户开始滚动时,高程才可见。搜索栏(工具栏)永不崩溃。这是我试图复制的内容:

<android.support.design.widget.CoordinatorLayout 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appBarLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="64dp">

            <!-- content -->

        </android.support.v7.widget.Toolbar>

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

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

在这里您可以看到结果:

在此处输入图片说明

所以我的解决方案的问题是,工具栏的高度始终可见。但我希望它仅在回收者视图在其后滚动时显示。设计支持库中是否有任何东西可以实现google maps应用程序中所示的行为?

我在用

com.android.support:appcompat-v7:23.2.0
com.android.support:design:23.2.0
丹尼尔·维赫曼

编辑正如评论中指出的那样,我的答案现在已经过时,请参阅https://stackoverflow.com/a/58272283/4291272


无论您是否使用a CoordinatorLayoutRecyclerView.OnScrollListener就海拔而言,a似乎都是正确的选择。但是,根据我的经验,这recyclerview.getChild(0).getTop()是不可靠的,因此应用于确定滚动状态。相反,这是起作用的:

private static final int SCROLL_DIRECTION_UP = -1;
// ...
// Put this into your RecyclerView.OnScrollListener > onScrolled() method
if (recyclerview.canScrollVertically(SCROLL_DIRECTION_UP)) {
   // Remove elevation
   toolbar.setElevation(0f);
} else {
   // Show elevation
   toolbar.setElevation(50f);
}

请务必将分配LayoutManager给您RecyclerViewcanScrollVertically的调用可能会导致崩溃!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

滚动时Android“隐藏”工具栏

来自分类Dev

如何在滚动Android时固定工具栏

来自分类Dev

Android工具栏的高度是多少?

来自分类Dev

Android工具栏高度差

来自分类Dev

Android滚动工具栏

来自分类Dev

Android:仅尝试滚动文本视图时滚动工具栏

来自分类Dev

Android CoordinatorLayout:仅在列表开始滚动时滚动工具栏

来自分类Dev

无法滚动 RecyclerView,尝试在滚动时隐藏工具栏

来自分类Dev

滚动RecyclerView时隐藏工具栏时的布局抖动

来自分类Dev

工具栏的高度太小

来自分类Dev

更改工具栏的高度

来自分类Dev

工具栏下的GridView-滚动时隐藏工具栏

来自分类Dev

工具栏下的GridView-滚动时隐藏工具栏

来自分类Dev

在Android布局底部添加工具栏时,滚动行为不起作用

来自分类Dev

向上滚动android时自动隐藏或显示工具栏

来自分类Dev

Swift-工具栏在滚动时遵循表格视图

来自分类Dev

向下滚动时,隐藏UiWebView底部的工具栏

来自分类Dev

CollapsingToolbarLayout并在滚动时隐藏工具栏

来自分类Dev

向上滚动内容时如何隐藏工具栏?

来自分类Dev

滚动时工具栏折叠不起作用

来自分类Dev

滚动时底部垫工具栏闪烁

来自分类Dev

Swift-滚动时工具栏遵循表格视图

来自分类Dev

向下滚动时,EnterAlwaysCollapsed不会带回工具栏

来自分类Dev

在滚动时隐藏工具栏和抽屉

来自分类Dev

CoordinatorLayout + CollapsingToolbarLayout 向上滚动时不设置工具栏

来自分类Dev

为什么Android工具栏的高度被削减?

来自分类Dev

如何使 Android 工具栏在高度方面更短

来自分类Dev

如何使工具栏隐藏在滚动Android Studio上

来自分类Dev

Android中的视差滚动/可折叠工具栏

Related 相关文章

热门标签

归档