2011-07-12 13 views
1

現在開いているウィンドウを左にスライドし、新しいウィンドウを右から画面上にスライドしたいとします。チタン:左右のスライドウィンドウ

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:アニメーションの再生時間は、超スローすることにより 、私は最初と最後にそれらが完全に揃っていることに気づいたが、間にはそうではありません。アニメーションを非常に速くすることで、2つのウィンドウ間のスペースが大きくなります。これは、イージングで何かが起こっているに違いないことを意味します。これは、アニメーションをイージングなしで行わなければなりません、いいえ: "Titanium.UI.ANIMATION_CURVE_LINEAR"。しかし、どういうわけかそれは問題を解決しません。イージーがどこから来るのか分かりません。

+0

を働いたものですこれは左から右にスライドする目的です – davitz38

+0

私はおそらくAndroidのケースと思う。アニメーションが完了すると、CUZアンドロイドはその内部要素のサイズを変更します。私は間違ってあなたの質問を理解することができますが、私は正しい場合、解決策は、アニメーションと一緒に内部ビューの幅を更新しようとしています。お役に立てれば。 –

答えて

1

ピクセル値でウィンドウの幅と左右を設定すると機能しますか?

+0

いいえ。私は別のものを試しましたが、実際に働いた人はいなかったので、最後にnavgroupを使って "本当の"スライドをやることで解決しました。 – dandoen

2

タブを使用している場合は、同じタブで新しいウィンドウを開くだけです。

tab1.open(win,{animated:true}); 
0

いいえ動作しません。とにかく私は自分のアプリケーションの1つで同じ要件を持っていたので、ウィンドウを使うのではなく、ビューを使って右から左へアニメーションし、Appグローバルスタックで管理しました。お役に立てれば。

+0

代わりにScrollableViewを使用できます。デフォルトでは、スライドする効果があります。このリンクを参照してください。 http://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.ScrollableView – upendra

0

この質問は、Appceleratorのスライドの検索の上部に示しているので、ここでアニメーションを残したあなたはNavigationGroupを使用してみてください私のため

win.open({ 
    activityEnterAnimation: Ti.Android.R.anim.slide_in_left, 
    activityExitAnimation: Ti.Android.R.anim.slide_out_right 
}); 

ここでチェックドキュメント

http://docs.appcelerator.com/platform/latest/#!/api/openWindowParams