自动折叠/展开可折叠的工具栏

3
如何在Android中制作可折叠的工具栏,当垂直偏移超过特定阈值时自动折叠/展开?
也就是说,如果垂直偏移超过getScrollRange()的一半,则可折叠的工具栏应自动展开,在该阈值以下则应折叠。
2个回答

12
你可以像下面这样使用 snap 标志:
<android.support.design.widget.CollapsingToolbarLayout
                android:id="@+id/collapsing_toolbar"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:fitsSystemWindows="true"
                app:contentScrim="?attr/colorPrimary"
                app:layout_scrollFlags="scroll|exitUntilCollapsed|snap">

示例动图

使用此选项将确定当视图仅被部分缩小时该如何处理。如果滚动结束时,视图的大小已缩小到其原始大小的50%以下,则该视图返回其原始大小。如果大小大于其大小的50%,则它将完全消失。

您可以在此处阅读有关CollapsingToolbarLayout滚动标志的更多信息:
https://guides.codepath.com/android/Handling-Scrolls-with-CoordinatorLayout


2
只需使用'snap'选项即可获得所需的输出。将折叠式工具栏布局滑动标志设置为:

app:layout_scrollFlags="scroll|exitUntilCollapsed|snap"

snap:当一个视图只被部分减小时,此选项将确定要执行的操作。如果滚动结束且视图大小已经减小到原始大小的50%以下,则该视图将返回其原始大小。如果大小大于其大小的50%,则它将完全消失。 希望这能有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接