【问题标题】:Disable multi touch for tabs in TabLayout在 TabLayout 中禁用选项卡的多点触控
【发布时间】:2016-01-02 23:33:45
【问题描述】:

我在我的应用程序中使用了 android.support.design.widget.TabLayout 并添加了 4 个选项卡。即使我已经按住其中一个选项卡,我也可以单击所有选项卡。我想知道当任何一个选项卡被按下时,如何防止其他选项卡被点击。我已经尝试将拆分运动事件设置为 false 并使用 touchevent 方法,但它不起作用。提前致谢。

【问题讨论】:

    标签: android multi-touch androiddesignsupport android-tablayout


    【解决方案1】:

    您需要在 TabLayout 内的子容器上将拆分运动事件设置为 false,而不是在 TabLayout 本身上。像这样的:

    ((ViewGroup) tabLayout.getChildAt(0)).setMotionEventSplittingEnabled(false);
    

    将拆分运动事件设置为 false 只会阻止来自它所设置的 ViewGroup 的直接子级的多点触控。 TabLayout 扩展了 Horizo​​ntalScrollView,因此包含一个子 ViewGroup,而该子 ViewGroup 又包含接收要被阻止的点击事件的实际选项卡。

    【讨论】:

    • 注意:这在 5 台以上的设备上不是问题。不过,我肯定会在 4.2 上看到它。
    猜你喜欢
    • 1970-01-01
    • 2021-04-13
    • 2019-02-28
    • 2017-05-19
    • 2015-08-28
    • 2018-02-11
    • 1970-01-01
    • 1970-01-01
    • 2016-11-11
    相关资源
    最近更新 更多