Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当我们转到列表视图的开头时,Recycler视图显示可见的按钮_Android_Listview_Android Activity_Android Recyclerview - Fatal编程技术网

Android 当我们转到列表视图的开头时,Recycler视图显示可见的按钮

Android 当我们转到列表视图的开头时,Recycler视图显示可见的按钮,android,listview,android-activity,android-recyclerview,Android,Listview,Android Activity,Android Recyclerview,我正在开发一些聊天应用程序,我正在使用recycler视图来显示消息。问题是我在顶部有“加载较早的消息”按钮,该按钮始终可见,我不需要它。只有当我滚动到列表视图顶部的第一个可用项时,我才需要该按钮可见。然后,当我按下“加载较早”按钮时,它将加载较早的消息,并且该按钮应不可见。同样,只有当我滚动到recyclerView的顶部时,按钮才应该可见。这类似于WhatsApp加载早期消息按钮示例 注意:我可以加载以前的消息,唯一的问题是当滚动到顶部时,如何使按钮可见,并在加载以前的消息后使其不可见 帮帮

我正在开发一些聊天应用程序,我正在使用recycler视图来显示消息。问题是我在顶部有“加载较早的消息”按钮,该按钮始终可见,我不需要它。只有当我滚动到列表视图顶部的第一个可用项时,我才需要该按钮可见。然后,当我按下“加载较早”按钮时,它将加载较早的消息,并且该按钮应不可见。同样,只有当我滚动到recyclerView的顶部时,按钮才应该可见。这类似于WhatsApp加载早期消息按钮示例

注意:我可以加载以前的消息,唯一的问题是当滚动到顶部时,如何使按钮可见,并在加载以前的消息后使其不可见

帮帮我,伙计们!!!!!!!!!!!!
提前感谢

看起来您需要使用浮动操作按钮-检查android设计支持库。但是,如果你需要它的按钮与文字,你可以这样做,例如像这样的东西

recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
            @Override
            public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
                if (linearLayoutManager.findFirstVisibleItemPosition() == 0) {
                    button.setVisibility(View.VISIBLE);
                }
                else {
                    button.setVisibility(View.GONE);
                }
            }
        });

使用android:animateLayoutChanges=true,在父视图组中,您还将看到动画。您还可以尝试使用自定义按钮行为协调布局。

似乎您需要使用浮动操作按钮-检查android设计支持库。但是,如果你需要它的按钮与文字,你可以这样做,例如像这样的东西

recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
            @Override
            public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
                if (linearLayoutManager.findFirstVisibleItemPosition() == 0) {
                    button.setVisibility(View.VISIBLE);
                }
                else {
                    button.setVisibility(View.GONE);
                }
            }
        });

使用android:animateLayoutChanges=true,在父视图组中,您还将看到动画。您也可以尝试使用自定义按钮行为协调布局。

不适用于我。我正在使用framelayout,在这里我声明了recycler视图。我该做什么谢谢你!!!!!最后,我将回收者视图依赖项更新为23,并将我的linearlayoutmanager设置为最终版本。如果一切正常,则将答案标记为已接受。不适用于我。我正在使用framelayout,在这里我声明了recycler视图。我该做什么谢谢你!!!!!最后,我将回收者视图依赖项更新为23,使我的linearlayoutmanager成为最终版本。如果一切正常,则将答案标记为已接受。