我正在开发一个React Native信息亭应用,该应用将在安装在墙上的Android平板电脑上运行。我们想要实现一种“屏幕保护程序”功能-如果用户在30秒内没有触摸屏幕,我们希望淡出到一个漂亮的启动屏幕,然后在触摸屏幕时切换回主界面屏幕。

我在重置“屏幕保护程序”倒数计时器时遇到了麻烦。在网络上,我可以通过应用根目录附近的click或mousemove处理程序来处理此问题,该处理程序会在用户执行任何操作时调度,例如...

let timeout = setTimeout(startScreenSaver, 30000);
document.body.addEventListener("click", () => {
  clearTimeout(timeout);
  setTimeout(startScreenSaver, 30000);
});


有没有办法在React Native中做类似的事情?

最佳答案

您可以在根视图组件上设置onTouchStart属性,只要您触摸该视图,该事件就会出现。

例如,

onTouchStart = () => {
   clearTimeout(timeout);
   setTimeout(startScreenSaver, 30000);
}

render() {
  <View onTouchStart={this.onTouchStart}>
    ...
  </View>
}

09-10 16:57