滚动时根据回收站视图标题更改选项卡

Lan*_*gel 5 java android tabview android-recyclerview

在此处输入图片说明

当我们滚动浏览器视图时,我正在尝试更改选项卡。

我已经在单个回收商视图中列出了这些项目。

因此,当我到达每个部分的标题(例如早餐然后早餐标签应该处于活动状态)时,如何相应地更改标签?

上面的 gif 解释了我的查询。请建议我一个解决方案。

Rum*_*tel 0

它可以通过使用 RecyclerView 或 NestedScrollView 来实现。

我们可以设置水平RecyclerView而不是Tabs。

您需要观察滚动并更改水平 RecyclerView 的位置。另一方面,通过单击水平 RecyclerView,您可以更改内容的位置并滚动到所需的视图。

val scrollBounds = Rect()
binding.sv.getHitRect(scrollBounds)

binding.sv.setOnScrollChangeListener(NestedScrollView.OnScrollChangeListener { v, scrollX, scrollY, oldScrollX, oldScrollY ->
    if (binding.testDataView0.tvContentTitle1.getLocalVisibleRect(scrollBounds)) {
        if (!binding.testDataView0.tvContentTitle1.getLocalVisibleRect(scrollBounds)
            || scrollBounds.height() < binding.testDataView0.tvContentTitle1.height
        ) {
            Log.e(TAG, "tvContentTitle1 displayed partial portion")
        } else {
            Log.e(TAG, "tvContentTitle1 displayed full portion")
        }
        selectedTitlePosition = 0
        setTitleSelected()

    } else {
        Log.e(TAG, "tvContentTitle1 Not displayed")
    }
})
Run Code Online (Sandbox Code Playgroud)

输出:

在此输入图像描述

您可以查看此 GitHub 项目(滚动上的选项卡更改)以进行实施。