我想將當前打開的窗口滑動到左側,並將新窗口從右側滑動到屏幕上。我使用下面的代碼,它不工作:鈦:左/右滑動窗口
var newWindow = Titanium.UI.createWindow({
url:'new.js',
backgroundImage:'ui/bg.gif',
zIndex: 10,
left: "100%",
width: "100%"
});
var slide_it_left = Titanium.UI.createAnimation();
slide_it_left.left = 0; // to put it back to the left side of the window
//slide_it_left.curve = Titanium.UI.ANIMATION_CURVE_LINEAR;
slide_it_left.duration = 500;
var slide_it_right = Titanium.UI.createAnimation();
slide_it_right.left = "-100%";
//slide_it_right.curve = Titanium.UI.ANIMATION_CURVE_LINEAR;
slide_it_right.duration = 500;
currentWindow.animate(slide_it_right);
newWindow.open(slide_it_left);
然而,似乎有兩個窗口之間20像素的空間,當他們在/滑出。我不知道這是怎麼可能的,因爲currentWindow的寬度爲100%,也是新的。我嘗試通過調整曲線/緩動來隱藏黑色空間,但沒有好的結果,你仍然可以注意到他們之間的黑色空間無論如何。有任何想法嗎?謝謝!
UPDATE: 通過使動畫持續時間超慢,我注意到,在開始和結束時,他們完全對齊,但在它們之間沒有。通過使動畫非常快速,兩個窗口之間的空間很大。這意味着緩動必須有一些事情發生。這應該會使動畫不放鬆,否則:「Titanium.UI.ANIMATION_CURVE_LINEAR」。但不知何故,它不能解決問題..不知道寬鬆來自何處。
文檔您應該嘗試使用NavigationGroup ,這是從左到右滑動的目的 – davitz38
我認爲這可能是Android的情況。 CUZ android在動畫完成時調整其內部元素的大小。可能是我理解你的問題錯了,但如果我是正確的,那麼解決方法是嘗試更新內部視圖寬度以及動畫。希望這可以幫助。 –