0

Androidでウィンドウを開閉するときにウィンドウ遷移を追加したいと思います。 Windows用チタン:Androidでウィンドウ遷移が機能しない

作成transistionsは、ここでドキュメントに記述されていますhttp://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.Window

foo.jsは、以下TSSファイルがあります。

"#win": { 
    theme: "Theme.AppCompat.Translucent.NoTitleBar", 
    fullscreen: false, // To make it heavy-weight (although this should not be needed for > v3.2.0) 
} 

私は、次の方法試してみました:

方法1

Alloy.createController('foo') 
    .getView().open({ 
     activityEnterAnimation: Ti.Android.R.anim.fade_in, 
     activityExitAnimation: Ti.Android.R.anim.fade_out 
    }); 

上記の入力アニメーションは期待通りに機能します。ただし、フェードアウトは機能しません。

方法2

Alloy.createController('foo') 
    .getView().open({ 
     activityEnterAnimation: Titanium.UI.Android.TRANSITION_FADE_IN, 
     activityExitAnimation: Titanium.UI.Android.TRANSITION_FADE_OUT 
    }); 

どちらもフェードインまたはフェードアウトがで

方法3

"#win[platform=android]": { 
    activityEnterAnimation: Titanium.UI.Android.TRANSITION_FADE_IN, 
    activityExitAnimation: Titanium.UI.Android.TRANSITION_FADE_OUT, 

    // OR 
    // activityEnterAnimation: Ti.Android.R.anim.fade_in, 
    // activityExitAnimation: Ti.Android.R.anim.fade_out, 
} 

どちらフェード働い又はフェードアウトのいずれかの場合のために働きました。

答えて

1

ヤヒヤウディン

ウィンドウの遷移は、あなたがして窓をアニメーション化したい場合は、setTimeoutメソッドでアニメーションを使用する必要があり、アンドロイドでは作品ではありません。とその習慣。

+0

ようwindow.open()ためのパラメータとして使用されていないことに注意してくださいバグですか?それは報告されている? –

1

は、次の2つのオプション

活動*を持っているトランジション

sharedElementなしactivity*Transitionsを使用する方法は現在ありません。 https://jira.appcelerator.org/browse/TIMOB-20507には、修正プログラムが表示されています(修正プログラムを使用する場合は最初のウィンドウを開くときに最初のウィンドウを調整するか、animated:falseを追加する必要があります)。

活動*アニメーション

activity*Animationアニメーションは次のように働いている:

6.1.2.GAと6.2.2.GA

活動のための回避策*でテスト

var win = Ti.UI.createWindow({ backgroundColor: '#fff' }); var win2 = Ti.UI.createWindow({ backgroundColor: '#f00' }); var btn = Ti.UI.createButton({ title: "open" }); win.add(btn); var btn2 = Ti.UI.createButton({ title: "close" }); win2.add(btn2); btn2.addEventListener("click", function() { win2.close({ activityExitAnimation: Ti.Android.R.anim.fade_out }); }); btn.addEventListener("click", function() { win2.open({ activityEnterAnimation: Ti.Android.R.anim.fade_in, activityExitAnimation: Ti.Android.R.anim.fade_out }); }); win.open(); 

トランジション

activity*Transitionsは、次のように働いている?

var win = Ti.UI.createWindow({ 
    backgroundColor: '#fff', 
    activityEnterTransition: Titanium.UI.Android.SLIDE_RIGHT, 
    activityExitTransition: Titanium.UI.Android.TRANSITION_EXPLODE 
}); 

var win2 = Ti.UI.createWindow({ 
    backgroundColor: '#f00', 
    activityEnterTransition: Titanium.UI.Android.SLIDE_RIGHT, 
    activityExitTransition: Titanium.UI.Android.TRANSITION_EXPLODE 
}); 
// Create label in window A with a unique transitionName. 
var titleInWinA = new Ti.UI.createLabel({ 
    text: 'Top 10 pics from Mars!', 
    left: 70, 
    top: 6, 
    width: 200, 
    height: 30, 
    transitionName: 'title', 
    color: "#000" 
}); 
win.add(titleInWinA); 

var btn = Ti.UI.createButton({ 
    title: "open" 
}); 
btn.addEventListener("click", function() { 
    win2.addSharedElement(titleInWinA, "title"); 
    win2.open(); 
}); 
win.add(btn); 
win.open(); 
var titleInWinB = new Ti.UI.createLabel({ 
    text: 'Top 10 pics from Mars!', 
    left: 50, 
    top: 10, 
    width: 200, 
    height: 30, 
    transitionName: 'title', 
    color: "#000" 
}); 
win2.add(titleInWinB); 

彼らは窓のcreation only性質であり、あなたはそれが働いていない何をすべきかactivity*Animation

関連する問題