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();
});
};
Спасибо, что ответили! Дело в том, что у меня есть кнопка закрытия в отдельном окне, потому что я хочу иметь близкую картинку немного за пределами окна всплывающего окна. Единственный способ симов установить близкое изображение в отдельном окне, иначе изображение будет под углом окна, когда я использую минус в px. Единственное, что случается сейчас, когда я нажимаю на закрытие, - это закрыть картинку, другими словами, в другом окне, где находится закрытое изображение. – AppfiXarna
тогда вы должны открыть окно с высотой и шириной экрана, тогда вы можете использовать представление для отображения popup, чтобы вы могли добавить кнопку закрытия в окне с внешним видом всплывающего окна –
Да, тогда я могу установить это окно totaly transparet, и, как вы сказали, вместо этого я использую в нем представление. Но как насчет анимации в режиме open/show? Могу ли я помещать анимацию в качестве аргументов в show-function представления? Потому что я хочу открыть Window/View из ничего для масштабирования 1.2 и вернуться к его размеру ?! – AppfiXarna