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

야야 Uddin

창 전환하면 다음 창을 애니메이션을 적용 할 경우의 setTimeout과 애니메이션을 사용해야합니다, 안드로이드에서 작동하지 않습니다. 및 그것의 관례.

+0

처럼 window.open()에 대한 매개 변수로 사용하지 않는 것을 명심? 그게 버그 야? 하스보고 된거야? –

1

당신은 두 가지 옵션

활동 *이 전환

sharedElement없이 activity*Transitions를 사용하는 방법은 현재 없습니다. https://jira.appcelerator.org/browse/TIMOB-20507에는 수정 프로그램 (첫 번째 창에 맞게 조정해야하거나 수정 프로그램을 사용하는 경우 첫 번째 창을 열 때 animated:false을 추가해야 함)이있는 티켓이 있습니다.

활동 * 애니메이션

activity*Animation 애니메이션과 같이 작동된다

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(); 

6.1.2.GA 테스트 수단과 활동 6.2.2.GA

해결 * 전환

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