0

我正在做钛的应用。不同的屏幕有点复杂,因为它们有很多图像、视图和 web 视图。

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

例如,如果我在纵向并且我更改为横向,则元素看起来像纵向,然后它们被重新定位到它们的新位置,因此您可以看到过渡。

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

是否可以在视图上方放置一些东西,并且在重新定位元素时将其移除?

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

非常感谢

4

1 回答 1

0

我将通过在当前窗口的顶部创建并打开另一个窗口来解决此问题。完成对隐藏窗口的重绘后,我会关闭打开的窗口以阻挡视图。

我担心这个操作可能太快了,用户只会看到闪烁而不明白发生了什么。另一方面,您可以在其上放置一个计时器,以便窗口至少显示 1-2 秒,但这可能会让用户感到烦恼并阻止他们改变方向。

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

Ti.Gesture.addEventListener('orientationchange', function(e){
  // ...
  // Cover your current view with another window then remove the window when you complete
  // the redraw.
});
于 2013-11-11T16:35:46.630 回答