我如何将视图的内部视图放入钛中
how can i put view's inside view's in titanium
我有三个视图,一个主视图和两个子视图
主视图:
var viewMain = Ti.UI.createView();
viewManin.layout = 'vertical';
viewManin.backgroundColor = 'transparent';
viewManin.width = deviceWidth;
子视图 1:
var viewChild1 = Ti.UI.createView();
viewChild1.layout = 'vertical';
viewChild1.height = 'auto';
viewChild1.backgroundColor = 'transparent';
viewChild1.width = deviceWidth;
子视图 2:
var viewChild2 = Ti.UI.createView();
viewChild2.layout = 'vertical';
viewChild2.height = 'auto';
viewChild2.backgroundColor = 'transparent';
viewChild2.width = deviceWidth;
向主视图添加视图:
viewMain.add(viewChilde1);
viewMain.add(viewChilde2);
在每个子视图中,我都有可变文本大小的标签,因此我无法定义视图的高度。当我将子视图添加到主视图时,最后添加的视图占据了整个主视图。我怎样才能让两个视图出现在屏幕上?
@Manuel_Rodrigues!我认为在你尝试这样做之前,你应该花点时间阅读一下钛的API。它有一个很好的状态来解释 属性 Ti.UI.FILL, Ti.UI.SIZE 和 AUTO 在不同的情况下供您应用。在这里,我为你写了一个例子:
var win = Ti.UI.createWindow({
width: '100%',
height: '100%'
});
var mainView = Ti.UI.createView({
width: '100%',
height: 'auto',
layout: 'vertical',
horizontalWrap: true
});
win.add(mainView);
var view1 = Ti.UI.createView({
top: 10,
left: 10,
width: '45%',
borderRadius: 5,
height: Ti.UI.SIZE,
backgroundColor: '#25649d'
});
win.add(view1);
var viewLabel1 = Ti.UI.createLabel({
font:{
fontSize: 16
},
width: 'auto',
height: 'auto',
color: 'black',
textAlign: 'left',
verticalAlign: Ti.UI.TEXT_ALIGNMENT_CENTER,
text: 'this is a very long long long long long long text.'
});
view1.add(viewLabel1);
var view2 = Ti.UI.createView({
top: 10,
right: 10,
width: 'auto',
borderRadius: 5,
height: Ti.UI.SIZE,
backgroundColor: '#25649d'
});
win.add(view2);
var viewLabel2 = Ti.UI.createLabel({
font:{
fontSize: 16
},
width: 'auto',
height: 'auto',
color: 'black',
textAlign: 'right',
verticalAlign: Ti.UI.TEXT_ALIGNMENT_CENTER,
text: 'yes, I had seen it!'
});
view2.add(viewLabel2);
如果你运行这个代码,它应该显示如下:
我有三个视图,一个主视图和两个子视图
主视图:
var viewMain = Ti.UI.createView();
viewManin.layout = 'vertical';
viewManin.backgroundColor = 'transparent';
viewManin.width = deviceWidth;
子视图 1:
var viewChild1 = Ti.UI.createView();
viewChild1.layout = 'vertical';
viewChild1.height = 'auto';
viewChild1.backgroundColor = 'transparent';
viewChild1.width = deviceWidth;
子视图 2:
var viewChild2 = Ti.UI.createView();
viewChild2.layout = 'vertical';
viewChild2.height = 'auto';
viewChild2.backgroundColor = 'transparent';
viewChild2.width = deviceWidth;
向主视图添加视图:
viewMain.add(viewChilde1);
viewMain.add(viewChilde2);
在每个子视图中,我都有可变文本大小的标签,因此我无法定义视图的高度。当我将子视图添加到主视图时,最后添加的视图占据了整个主视图。我怎样才能让两个视图出现在屏幕上?
@Manuel_Rodrigues!我认为在你尝试这样做之前,你应该花点时间阅读一下钛的API。它有一个很好的状态来解释 属性 Ti.UI.FILL, Ti.UI.SIZE 和 AUTO 在不同的情况下供您应用。在这里,我为你写了一个例子:
var win = Ti.UI.createWindow({
width: '100%',
height: '100%'
});
var mainView = Ti.UI.createView({
width: '100%',
height: 'auto',
layout: 'vertical',
horizontalWrap: true
});
win.add(mainView);
var view1 = Ti.UI.createView({
top: 10,
left: 10,
width: '45%',
borderRadius: 5,
height: Ti.UI.SIZE,
backgroundColor: '#25649d'
});
win.add(view1);
var viewLabel1 = Ti.UI.createLabel({
font:{
fontSize: 16
},
width: 'auto',
height: 'auto',
color: 'black',
textAlign: 'left',
verticalAlign: Ti.UI.TEXT_ALIGNMENT_CENTER,
text: 'this is a very long long long long long long text.'
});
view1.add(viewLabel1);
var view2 = Ti.UI.createView({
top: 10,
right: 10,
width: 'auto',
borderRadius: 5,
height: Ti.UI.SIZE,
backgroundColor: '#25649d'
});
win.add(view2);
var viewLabel2 = Ti.UI.createLabel({
font:{
fontSize: 16
},
width: 'auto',
height: 'auto',
color: 'black',
textAlign: 'right',
verticalAlign: Ti.UI.TEXT_ALIGNMENT_CENTER,
text: 'yes, I had seen it!'
});
view2.add(viewLabel2);
如果你运行这个代码,它应该显示如下: