Titanium Back Button - 总是关闭我的应用程序 [英] Titanium Back Button - Always closes my App

查看:22
本文介绍了Titanium Back Button - 总是关闭我的应用程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的应用程序有一个新问题,我正在使用 Appcelerator Titanium 进行开发.我想从我的设备上锁定后退按钮,所以当我使用他时应用程序不会每次都关闭.我只想在我在主菜单时关闭应用程序.所以这是我的代码:

I have a new problem with my App, i'm using Appcelerator Titanium for development. I want to lock the Backbutton from my Device, so the App wont close everytime when i use him. I want to close the App only if i'm at the primarymenu. So this is my code:

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"时关闭.

I have an variable where i track the position from the user at the hierachy from the menu. So the App should only close when the position is "0".

如果位置为1",则应该有动画,所以这可行,但在动画期间,应用会立即关闭.

If the position is "1", there should be an animation, so this works, but during the animation, the app closes instantly.

窗口的代码是这样的:

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]
});

推荐答案

您正在监视的事件 android:back 已弃用.请使用 androidback 事件.

The event you're monitoring android:back is deprecated. Please use androidback event.

第二步是在事件处理程序链中进一步阻止事件冒泡.为此,您需要取消活动:

The second step is to stop the event bubbling further in the event handler chain. For this you need to cancel the event:

Ti.UI.currentWindow.addEventListener('androidback',function(event){
      event.cancelBubble = true;
}

此外,您还必须修改窗口并将 exitOnClose 属性设置为 false

Also you have to modify your window and set exitOnClose property to false

这篇关于Titanium Back Button - 总是关闭我的应用程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆