如何创建一个弹出窗口但不丢失之前的窗口

时间:2015-12-16 13:21:01

标签: javascript titanium appcelerator

我用Onlick函数创建了一个新的小窗口。当新弹出窗口打开时,如何保留上一个窗口?现在我的弹出窗口外面有一个黑色的背景。

XML

<Alloy>
 <Window id="container" backgroundImage="/images/art.jpg">
    <View id="weSocial" width="95%" top="8" backgroundColor="#393939" height="50" visible="true" onClick="showSocial">
      <Label id="socialLabel"></Label>
     </View>
   </Window>
 </Alloy>

JS:

var ModalWindow = Ti.UI.createWindow({
        title: L('findSocial'),
        backgroundColor: "red",
        width: "300",
        height: "300",
        modal: true,
        top: "10%"
    });
$.win.add.ModalWindow;

function showSocial () {
    ModalWindow.open({modal:true}); 
}

1 个答案:

答案 0 :(得分:1)

你正在考虑一个观点。 iOS中的一个窗口(如果我没弄错的话,也是Android的窗口)总是100%宽和一个高。

即使您将视图设为95%,窗口也不是。它是黑色的原因是因为你的窗户有黑色背景。

要更改此设置,只需将视图添加(并叠加)到当前窗口,而不是打开新窗口。

您的新XML:

<Alloy>
    <View id="weSocial" width="95%" top="8" backgroundColor="#393939" height="50" visible="true" onClick="showSocial">
      <Label id="socialLabel"></Label>
     </View>
 </Alloy>

通过控制器将其包含在您之前的窗口中:

var controller = Alloy.createController('modalWindow');

添加并显示:

$.getView().add(controller.getView());

modalWindow的tss应该仍然是95%宽,并且不要使用左右对齐,它会自动居中。