在Titanium app中发生之前捕获方向更改事件

时间:2013-11-08 17:07:47

标签: ios titanium device orientation-changes

我正在申请钛金属。不同的屏幕有点复杂,因为它们有很多图像,视图和webview。

在模拟器上它运行正常,但是当我在设备上尝试并且我更改了设备的方向时,屏幕显示不正确。

例如,如果我在肖像上并且我更改为横向,则元素显示为纵向,然后将它们重新定位到新位置,以便您可以看到过渡。

有没有办法解决它,看不到过渡?

是否可以在视图上方放置某些内容以及重新定位元素时将其删除?

我发现管理方向更改的唯一事件是:orientationchange,如果我在此事件中将视图放在顶部,我首先会看到不在正确位置的元素。在方向改变之前是否还有其他事件被解雇?

非常感谢

1 个答案:

答案 0 :(得分:0)

我会通过在当前窗口顶部创建并打开另一个窗口来实现此目的。完成重绘到隐藏窗口后,我会关闭我打开的窗口来阻止视图。

我担心的是这个操作可能太快,用户只会看到闪烁而不理解发生了什么。另一方面,您可以对其进行定时,因此窗口至少显示1-2秒,但这可能会让用户感到烦恼并阻止他们改变方向。

你可能会对此感到棘手,并使视图不可见,然后将其淡入。确保窗口具有背景颜色,或者它可能只显示为黑色或显示背后的内容,具体取决于您开发项目的方式。< / p>

Ti.Gesture.addEventListener('orientationchange', function(e){
  // ...
  // Cover your current view with another window then remove the window when you complete
  // the redraw.
});
相关问题