我正在开发一个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>
}