gpt4 book ai didi

android - 将 Snackbar 附加到 RecyclerView

转载 作者:行者123 更新时间:2023-11-29 23:27:34 24 4
gpt4 key购买 nike

我正在创建一个典型的聊天应用程序,中间有一个 RecyclerView,底部有消息控件。

我想显示一个绑定(bind)到 RecyclerView 的 snackbar (因此显示在 Recyclerview 的底部),以便它显示在消息控件上方而不是屏幕的最底部。

当我设置 snackbarChat = Snackbar.make(findViewById(R.id.recycler_view), "", Snackbar.LENGTH_INDEFINITE); 时,snackbar 仍然显示(并覆盖消息控件)屏幕底部,而不是 RecyclerView 底部的预期。

问题:如何将 snackbar 放入 Recyclerview 的屏幕?

感谢您的帮助!

最佳答案

来自 make() 的文档:

Snackbar will try and find a parent view to hold Snackbar's view from the value given to view. Snackbar will walk up the view tree trying to find a suitable parent, which is defined as a CoordinatorLayout or the window decor's content view, whichever comes first.

因此,当您传递 findViewById(R.id.recycler_view) 的结果时,make() 调用将查看 RecyclerView 的父级,以及父级的父级,依此类推...直到找到 CoordinatorLayout 或到达主内容 View 。

我敢打赌你会进入后半部分。

一个简单的修复方法是将您的 RecyclerView 包装在 CoordinatorLayout 中。在没有看到您的布局 XML 的情况下,我不能确切地说出如何做到这一点,但可能您只是想要

<android.support.design.widget.CoordinatorLayout
android:layout_width="whatever you had on the recyclerview"
android:layout_height="whatever you had on the recyclerview"
...>

<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
.../>

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

关于android - 将 Snackbar 附加到 RecyclerView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53286583/

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