0

我正在尝试在 Appcelerator 中制作一个演示,这是它的代码。

var tabGroup = Titanium.UI.createTabGroup();

var main_win = Titanium.UI.createWindow({  
     title:'Tab 1',
     backgroundColor:'#fff'
});

var win1 = Titanium.UI.createWindow({  
     title:'Tab 1',
     backgroundColor:'#fff'
});
var tab1 = Titanium.UI.createTab({ 
     title:'Tab 1',
     window:win1
});
var label1 = Titanium.UI.createLabel({
     text:'I am Window 1',
     win:win1
});
win1.add(label1);

var win2 = Titanium.UI.createWindow({  
     title:'Tab 2',
     backgroundColor:'#fff'
});
var tab2 = Titanium.UI.createTab({  
     title:'Tab 2',
     window:win2
});

var label2 = Titanium.UI.createLabel({
     text:'I am Window 2',
});
win2.add(label2);


tabGroup.addTab(tab1);  
tabGroup.addTab(tab2);  



main_win.open();

var button1 = Titanium.UI.createButton({
     title:"hello"
});
main_win.add(button1);
var button2 = Titanium.UI.createButton({
     title:"hello"
});
win1.add(button2);

button1.addEventListener('click', function(e) {
     tabGroup.open();
});

button2.addEventListener('click', function(e) {
     main_win.show();
     tabGroup.close();
});

现在 button2 没有以所需的方式工作。我想切换回window_1,即主窗口。代码出了什么问题。

编辑

我想要一个窗口(可以是视图/窗口或其他东西。)即main_win,它有一个名为button1的按钮。当我单击button1时,它会移动到另一个视图,该视图显示了两个选项卡式视图,即与tab1tab2关联的win1win2。单击tab1将显示win1,单击tab2将显示win2win1和win2都有一个按钮说button2点击它会将我们送回main_win. 此外,我希望过渡就像我们默认从滚动视图中获得的一样。

4

2 回答 2

1

我总是将 tabGroups 视为窗口。它没有记录,但您可以exitOnClose在 Android 中使用 tabGroups 上的属性。请查看以下代码是否满足您的需求。针对 Android 2.2 的 Titanium SDK 1.7.5

var main_win = Titanium.UI.createWindow({
    title : 'main_win',
    backgroundColor : '#fff'
});
var button1 = Titanium.UI.createButton({
    title : "open tabGroup",
    height:35,
    width:120
});
button1.addEventListener('click', function(e) {
    tabGroup.open();
});
main_win.add(button1);

var win1 = Titanium.UI.createWindow({
    title : 'Tab 1',
    backgroundColor : '#fff'
});
var tab1 = Titanium.UI.createTab({
    title : 'Tab 1',
    window : win1
});
var label1 = Titanium.UI.createLabel({
    text : 'I am Window 1',
    win : win1
});
win1.add(label1);
var button2 = Titanium.UI.createButton({
    title : "< back",
    top:5,
    left:5,
    height: 35,
    width: 80
});
win1.add(button2);
button2.addEventListener('click', function(e) {
    tabGroup.close();
});

var win2 = Titanium.UI.createWindow({
    title : 'Tab 2',
    backgroundColor : '#fff'
});
var tab2 = Titanium.UI.createTab({
    title : 'Tab 2',
    window : win2
});
var label2 = Titanium.UI.createLabel({
    text : 'I am Window 2',
});
win2.add(label2);
var button3 = Titanium.UI.createButton({
    title : "< back",
    top:5,
    left:5,
    height: 35,
    width: 80
});
win2.add(button3);
button3.addEventListener('click', function(e) {
    tabGroup.close();
});

var tabGroup = Titanium.UI.createTabGroup({
    exitOnClose: false
});
tabGroup.addTab(tab1);
tabGroup.addTab(tab2);

main_win.open();
于 2011-12-17T20:54:57.777 回答
0

tabgroup 是一个全局元素。我不确定是否可以关闭它 - 显然不是。你可以跳到一个标签

tabGroup.setActiveTab(id_of_your_tab);

如果你必须隐藏它,你需要建立自己的酒吧。

此外,是否可以为视图或滚动视图制作选项卡式视图。

您可以在窗口上使用滚动视图

var scrollView = Titanium.UI.createScrollView({
    contentWidth:'auto',
    contentHeight:'auto',
    top:0,
    showVerticalScrollIndicator:true,
    showHorizontalScrollIndicator:true
});
var view = Ti.UI.createView({
    backgroundColor:'#336699',
    borderRadius:10,
    width:300,
    height:2000,
    top:10
});
scrollView.add(view);
Titanium.UI.currentWindow.add(scrollView);

表格视图也是实现可滚动视图的常用方法。

在为 Android 设备制作应用程序时,我还可以使用哪些其他选项。

看看钛 api。它显示了 android 上可用的方法和视图。您还应该了解 android 设备的多密度。所以你需要提供多种分辨率的图像。看看钛指南

希望能帮助到你

于 2011-12-13T07:57:22.663 回答