Как получить переход для элемента Windows, как в представлениях прокрутки? - PullRequest
0 голосов
/ 13 декабря 2011

Я пытаюсь сделать демо в 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, то есть главное окно. Что не так с кодом.

EDIT

Я хочу иметь окно (может быть представление / окно или что-то еще), а именно main_win , в котором есть кнопка с именем button1 . Когда я нажимаю button1 , он переходит к другому представлению, которое показывает мне два представления с вкладками, а именно win1 и win2 , связанные с tab1 и tab2 . Нажатие на tab1 покажет win1 и нажатие на tab2 покажет win2 . И у win1 , и у win2 есть кнопка, скажем, button2 , нажатие которой приведет нас к main_win . Также я хочу, чтобы переход был таким, как мы получаем из scrollview по умолчанию.

Ответы [ 2 ]

1 голос
/ 18 декабря 2011

Я всегда просто думаю о tabGroups как о окнах. Это не задокументировано, но вы можете использовать свойство exitOnClose на tabGroups в Android. Пожалуйста, посмотрите, если следующий код делает то, что вам нужно. Titanium SDK 1.7.5 для Android 2.2

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();
0 голосов
/ 13 декабря 2011

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

tabGroup.setActiveTab(id_of_your_tab);

, вам нужно создать свой собственный бар, если вам нужно его скрыть.

Кроме того, возможно ли сделать представление с вкладками для представлений или видов прокрутки.

вы можете использовать scrollview в своем окне:

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.поэтому вам нужно предоставить свои изображения в нескольких разрешениях.взгляните на титановые рекомендации .

надеюсь, это поможет

...