我是Titanium的新手,并尝试了解视图的工作原理,我遇到了问题。
我创建了一个包含一个图像和两个标签的视图。
var row = Titanium.UI.createTableViewRow({height:'auto'});
var item_view = Titanium.UI.createView({
height:'100%',
layout:'vertical',
top:5,
right:5,
bottom:5,
left:5
});
var item_image = Titanium.UI.createImageView({
url:imageUrl, // the image for the image view
top:0,
left:0,
height:97,
width:65
});
item_view.add(item_image);
var productName_lbl = Titanium.UI.createLabel({
text:productName,
left:70,
width:'auto',
top:-97,
bottom:2,
height:'auto',
textAlign:'left',
color:'#444444',
font:{fontFamily:'Trebuchet MS',fontSize:12,fontWeight:'bold'}
});
item_view.add(productName_lbl);
var comName_lbl = Titanium.UI.createLabel({
text:comName,
left:70,
width:'auto',
top:7,
bottom:2,
height:'auto',
textAlign:'left',
color:'#444444',
font:{fontFamily:'Trebuchet MS',fontSize:12,fontWeight:'bold'}
});
item_view.add(comName_lbl);
问题是图像的高度为97px,但左边的两个标签都有较小的高度。
结果是图像现在显示为100%但仅根据左侧标签的高度显示。 请记住,标签可能是很长的文本,所以我有标签宽度,高度自动
我尝试将行高从auto更改为100%,但仍无效。
任何帮助表示赞赏
答案 0 :(得分:3)
试用Titanium 2.0。它解决了许多这类渲染问题。
您可以在他们的维基Titanium 2.0 Layout Changes
上阅读相关内容答案 1 :(得分:1)
我遇到的问题是View元素填满了屏幕的高度(而不是它所包含的元素的高度),在阅读了JC Guerrero的布局更改链接后(感谢JC!),我添加了:
Ti.UI.createView(height: Ti.UI.SIZE, ...
并成功自动调整视图的高度以匹配其内容
[edit]删除了引号,效果很好,谢谢!
答案 2 :(得分:0)
如果使用“垂直”布局,Titanium会严重计算元素高度。因此,您必须自己设置高度,或者删除布局属性以进行“绝对”定位。