2013-12-12 4 views
0

Im работает в титановом сплаве и создает всплывающее окно в качестве виджета. Я хочу, чтобы изображение с близким изображением вверху в правом верхнем углу, чтобы оно не выходило из всплывающего окна. Итак, я создал 2 отдельных окна в xml-файле виджета. Один, чтобы просто держать закрытое изображение, и тот, кто является всплывающим окном.
Everythings выглядят так, как я хочу, но я не могу получить всплывающее окно, чтобы закрыть ?!Титановый сплав - Окно закрытия

Я пробовал: $ .myWindow.close();

Amd Я пробовал: var win = Widget.createController ('myWindow', 'myWindowID'). GetView(); win.close();

Но ничего не происходит

Вот мой XML - код:

<Alloy> 
    <Window id="popup"> 
     <View id="myImagesViewIn" class="myImagesViewIn" onClick="closeWin"> 
      <ImageView id="myImageIn" class="myImageIN" /> 
     </View> 
    </Window> 
    <Window id="winImageOut" onClick="closeWindow"> 
     <View id="myImagesViewOut" class="myImagesViewOut" > 
      <ImageView id="myImageOut" class="myImageOut" /> 
     </View> 
    </Window> 
</Alloy> 

А вот мой JS-код:

var args = arguments[0] || {}; 

$.popup.transform = args.transform || ''; 

/* 
exports.setDataModalWindow = function(data) { 
$.lblModalWinHead.text = data.title; 
$.lblModalWinBody.text = data.text; 
}; 
*/ 
function fnCloseClick() { 
    $.viewModal.close(); 
} 

/* 
$.myImagesViewOut.addEventListener('click', function(e) { 
$.popup.close(); 
}); 
*/ 

function closeWin(e) { 
    $.myImagesViewOut.setVisible(false); 
    $.popup.close(); 

} 

function closeWindow(e) { 

    //$.popup.close(); 
    var wins = Widget.createController('widget', 'popup').getView(); 
    wins.setVisible(false); 
    alert('hejsan'); 
    //Ti.API.info('close'); 
} 

exports.openModalWindow = function(arg) { 

    //$.lblModalTitle.text = arg.title || 'foo'; 
    //$.lblModalText.text = arg.text || 'ff'; 

    var t = Titanium.UI.create2DMatrix().scale(0); 

    var args = { 

     transform : t 
    }; 

    var controller = Widget.createController('widget', args).getView(); 

    controller.open(); 

    // controller.animate(a2); 

    var t1 = Titanium.UI.create2DMatrix(); 
    t1 = t1.scale(1.2); 
    var a1 = Titanium.UI.createAnimation(); 
    a1.transform = t1; 
    a1.duration = 400; 

    controller.animate(a1); 

    var b1 = Titanium.UI.create2DMatrix(); 
    var a2; 
    a1.addEventListener('complete', function() { 
     b1 = b1.scale(1.5); 
     a2 = Titanium.UI.createAnimation(); 
     a2.transform = b1; 
     a2.duration = 400; 

     controller.animate(a2); 

    }); 
    // create the controller a keep the reference 

    /* 
    controller.setDetails({ 
    label: 'Are you sure you wish to log out?\n\nIf you do so you will no longer be able to take part in any challenges until you login again.', 
    ok: 'Log me out', 
    cancel: 'Cancel' 
    }); 
    */ 
    // now get a reference to the UI inside the controller 
    //var win = controller.getView(); 

    a1.addEventListener('complete', function() { 
     // simple reset animation 
     var t2 = Ti.UI.create2DMatrix(); 
     var a3 = Titanium.UI.createAnimation(); 
     a3.transform = t2; 
     a3.duration = 400; 
     controller.animate(a3); 

     $.winImageOut.open(); 

    }); 

}; 

ответ

1

первая вещь вы открываете всплывающее окно, так что вы должен открыть это окно ...

тогда вы должны закрыть бот окно в функции closeWindow.

function closeWindow(e) { 

    $.popup.close(); 
    $.winImageOut.close(); 
    alert('hejsan'); 
    //Ti.API.info('close'); 
} 

Я не знаю, ваше требование, но вы должны использовать только одно окно, чтобы показать всплывающее окно, то его легко для вас, чтобы справиться с открытой, событие закрытия окна.

+0

Спасибо, что ответили! Дело в том, что у меня есть кнопка закрытия в отдельном окне, потому что я хочу иметь близкую картинку немного за пределами окна всплывающего окна. Единственный способ симов установить близкое изображение в отдельном окне, иначе изображение будет под углом окна, когда я использую минус в px. Единственное, что случается сейчас, когда я нажимаю на закрытие, - это закрыть картинку, другими словами, в другом окне, где находится закрытое изображение. – AppfiXarna

+0

тогда вы должны открыть окно с высотой и шириной экрана, тогда вы можете использовать представление для отображения popup, чтобы вы могли добавить кнопку закрытия в окне с внешним видом всплывающего окна –

+0

Да, тогда я могу установить это окно totaly transparet, и, как вы сказали, вместо этого я использую в нем представление. Но как насчет анимации в режиме open/show? Могу ли я помещать анимацию в качестве аргументов в show-function представления? Потому что я хочу открыть Window/View из ничего для масштабирования 1.2 и вернуться к его размеру ?! – AppfiXarna

Смежные вопросы