gpt4 book ai didi

android - 反向 AppBarLayout.ScrollingViewBehavior

转载 作者:太空宇宙 更新时间:2023-11-03 10:57:50 31 4
gpt4 key购买 nike

我有一个 ToolBarRecyclerview 包裹在一个 Coordinatorlayout 中。 RecyclerView 填充了来 self 们的 api 的消息,并从底部堆叠起来。 (类似于聊天应用程序)

 //Set the layout manager
LinearLayoutManager layoutManager = new LinearLayoutManager(requireContext());
layoutManager.setStackFromEnd(true);
layoutManager.setReverseLayout(true);
binding.listMessages.setLayoutManager(layoutManager);

我想通过覆盖 AppBarLayout.ScrollingViewBehavior 来反转它的行为来定义自定义 ReverseScrollBehavior。因此,当我向上滚动时,工具栏会隐藏,而当我向下滚动(到底部)时,工具栏会显示。

<androidx.recyclerview.widget.RecyclerView
android:id="@+id/list_messages"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="none"
app:stackFromEnd="true"
app:reverseLayout="true"
app:layout_behavior="com.rootsoft.kot.utils.ReverseScrollBehavior" />

我想为此使用 ScrollingViewBehavior 而不是覆盖 onTouch

更新

我想要实现的是获取当前 appbar_scrolling_view_behavior 的倒数。想象一下有一个聊天应用程序,其中最新消息从底部开始。向上滚动时,我想隐藏工具栏。 AppBarLayout 的当前情况是,当您向上滚动时,工具栏会显示,而当您向下滚动时,它会隐藏。我的滚动标志是:app:layout_scrollFlags="scroll|enterAlways|snap"

最佳答案

您需要创建一个方法来获取屏幕高度和滚动事件(向上和向下)。您还可以在该方法中切换可见性。这意味着您将在 XML 中将可见性设置为可见并执行类似以下操作:

    ChatButton Button;

ChatButtton.setVisibility = View.GONE
ChatButton.setVisibility = View.VISIBLE

根据滚动事件处理可见性的切换

关于android - 反向 AppBarLayout.ScrollingViewBehavior,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53303045/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com