【问题标题】:Using tab buttons to change fragment without using viewpager使用选项卡按钮更改片段而不使用 viewpager
【发布时间】:2021-12-30 03:26:24
【问题描述】:

我目前正在使用 TabLayout + ViewPager 在 vi​​ewpager 中滑动和更改片段,在标签项上单击或滑动。但是由于我在片段中有一个定时日历视图,它需要它自己的水平和垂直滚动 - 我需要能够禁用仅更改片段的滑动,而它仍然在每个单独的片段中工作......片段应该只在按钮上更改点击

我没有任何代码要粘贴在这里,因为所有研究都指向使用 viewpager2 禁用滑动或使用 ViewPager 的自定义代码 - 在这两种情况下我都无法再滑动...。我从这里去哪里?

【问题讨论】:

标签: android kotlin android-viewpager android-tablayout


【解决方案1】:

如果你使用的是 ViewPager2,你可以使用:

viewPager.isUserInputEnabled = false

否则,您可以创建自己的自定义 ViewPager,它会忽略所有触摸事件。

class NoScrollViewPager @JvmOverloads constructor(
    context: Context,
    attrs: AttributeSet? = null
) : ViewPager(context, attrs) 

    override fun onTouchEvent(ev: MotionEvent?): Boolean {
        return false
    }

    override fun onInterceptTouchEvent(ev: MotionEvent?): Boolean {
        return false
    }
}

这里我们返回false,表示这里没有处理触摸事件。

【讨论】:

  • 嗨,Arpit,这会禁用视图的触摸事件还是仅用于更改片段?我仍然需要对片段中的内容进行水平和垂直触摸...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-04
  • 1970-01-01
  • 1970-01-01
  • 2017-01-06
相关资源
最近更新 更多