【发布时间】:2015-01-20 04:47:55
【问题描述】:
我的应用程序出现了一个新问题,我正在使用 Appcelerator Titanium 进行开发。 我想从我的设备锁定后退按钮,所以每次我使用他时应用程序都不会关闭。只有当我在主菜单时,我才想关闭应用程序。所以这是我的代码:
Ti.UI.currentWindow.addEventListener('android:back',function(){
alert(Ti.App.PositionNow);
if(Ti.App.PositionNow=='0') {
alert('do quit');
} else if(Ti.App.PositionNow=='1') {
Ti.App.multi_tableView.addEventListener('click',myfunction);
var duration = 300;
var setOldOpacity = Titanium.UI.createAnimation();
setOldOpacity.opacity = 1;
setOldOpacity.zIndex = 1;
setOldOpacity.duration = duration;
var setOldBottom = Titanium.UI.createAnimation();
setOldBottom.bottom = 0;
setOldBottom.duration = duration;
var setOldTop = Titanium.UI.createAnimation();
setOldTop.top = 0;
setOldTop.duration = duration;
var animationHandler2 = function() {
setOldTop.removeEventListener('complete',animationHandler2);
Ti.App.multi_view_first.animate(setOldTop);
Ti.App.multi_view_second.animate(setOldBottom);
Ti.App.multi_tableView.animate(setOldOpacity);
};
setOldTop.addEventListener('complete',animationHandler2);
Ti.App.multi_view_first.animate(setOldTop);
Ti.App.multi_view_second.animate(setOldBottom);
Ti.App.multi_tableView.animate(setOldOpacity);
alert('hallo1');
Ti.App.PositionNow = 0;
}
return false;
});
我有一个变量,我在其中从菜单的层次结构中跟踪用户的位置。所以应用应该只在仓位为“0”时关闭。
如果位置是“1”,应该有一个动画,所以这是可行的,但是在动画期间,应用程序会立即关闭。
窗口的代码是这样的:
Ti.App.hs_win = Ti.UI.createWindow({
url: '/sites/homescreen/index.js',
navBarHidden: true,
fullscreen: true,
modal:true,
theme: "Theme.Titanium",
orientationModes: [Ti.UI.PORTRAIT]
});
【问题讨论】:
-
在 appcelerator 论坛上查看此帖子:developer.appcelerator.com/question/159538/android-back-button。对于基本的后退导航,您不需要覆盖后退事件。他们建议使用 exitOnClose="true"
-
所以这行得通,当我按下后退按钮时窗口没有关闭,但现在还有另一个问题,我的“后退动画”现在不起作用。当我按下后退按钮时,窗口似乎已清除完毕。
-
好的,这是答案的一部分!非常感谢您的宝贵时间!
标签: javascript android titanium appcelerator