0

ユーザーが TableView の行をクリックしたときにウィンドウを開くためのアプリケーションを Titan モバイルで作成します。

ここに私のコードがあります:

Menu.js

function Menu() {
    Titanium.UI.setBackgroundColor('#000');

    var masterMenu = Titanium.UI.createTabGroup();

    var winMenu1 = Titanium.UI.createWindow({  
        title:'Menu 1',
        backgroundColor:'#fff'
    });
    var tabMenu1 = Titanium.UI.createTab({  
        icon:'KS_nav_views.png',
        title:'Menu 1',
        window:winMenu1
    });

    var menuData1 = [
        {title: 'Account', url: 'Account.js'}, 
        {title: 'Meetings', url: 'Meetings.js'} 
    ];

    var menuList1 = Ti.UI.createTableView({
      data: menuData1
    });

    menuList1.addEventListener('click', function(e) { 
        var newWindow = Titanium.UI.createWindow({ 
            url:e.rowData.url,
            title:e.rowData.title 
        }); 
        newWindow.open({
            animated:true
        });
    });

    winMenu1.add(menuList1);

    var winMenu2 = Titanium.UI.createWindow({  
        title:'Menu 2',
        backgroundColor:'#fff'
    });
    var tabMenu2 = Titanium.UI.createTab({  
        icon:'KS_nav_ui.png',
        title:'Menu 2',
        window:winMenu2
    });

    masterMenu.addTab(tabMenu1);  
    masterMenu.addTab(tabMenu2);  

    return masterMenu;
}

module.exports = Menu;

ユーザーが行をクリックすると、menuData1 の URL に基づいてリダイレクトされ、新しいウィンドウが開きます。たとえば、アカウント行をクリックすると、Account.js にリダイレクトされるはずです。ここに私の Account.js コードがあります:

var win = Ti.UI.currentWindow;

var label1 = Titanium.UI.createLabel({
    color:'#999',
    text:'Close',
    font:{fontSize:20,fontFamily:'Helvetica Neue'},
    textAlign:'center',
    width:'auto'
});

label1.addEventListener('click', function() {
    win.close();
});

win.add(label1);

主な問題は、Account.js の label1 が新しいウィンドウで開かれず、メニュー リストに表示されることです。Account.js を新しいウィンドウで開く方法を知っている人はいますか?? 前にありがとう..

4

1 に答える 1

2

ウィンドウの backgroundColor を設定してみてください:

menuList1.addEventListener('click', function(e) { 
    var newWindow = Titanium.UI.createWindow({ 
        backgroundColor: '#fff',
        url:e.rowData.url,
        title:e.rowData.title 
    }); 
    newWindow.open({
        animated:true
    });
});
于 2012-10-09T07:53:55.720 に答える