【问题标题】:hide controls if there is no user interaction on the screen如果屏幕上没有用户交互,则隐藏控件
【发布时间】:2021-09-04 05:21:22
【问题描述】:

我正在构建一个视频聊天 UI,如果屏幕上没有用户交互,我需要隐藏除视频之外的所有控件,并在有任何类型的用户交互时通过触摸、点击等使它们可见。

这就像 ios 或 android 原生视频通话中的任何视频聊天。我们如何在 Flutter 中实现这一点?

【问题讨论】:

    标签: flutter dart flutter-layout


    【解决方案1】:

    我认为您应该为此使用 GestureDetector。收到触摸事件时从 0 开始计时的计数器。 对处理程序使用相同的计数器检查,例如当计数器值等于预定义值时,例如 15 秒。在该处理程序中添加小部件重置的动画和可见性逻辑。那我将如何实现它。

    干杯。

    【讨论】:

    • 感谢您的建议。我需要监听 GestureDetector 中的所有事件吗?还是有一个事件可以处理所有类型的手势事件?
    • 参考这个链接,它也有代码 sn-p。 flutter.dev/docs/cookbook/gestures/handling-taps
    • 您不需要计数器。只需设置一个Timer。当Timer 过期时,隐藏控件。每当有某种形式的用户输入时,取消现有的Timer 并创建一个新的。
    猜你喜欢
    • 2013-04-07
    • 1970-01-01
    • 2012-09-15
    • 2011-07-13
    • 2023-03-29
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 2012-11-29
    相关资源
    最近更新 更多