2012-01-20 57 views
0

我是钛的新手,并尝试了解视图如何工作,我面临的问题。钛视图高度和内容

我已创建一个包含一个图像和2个标签的视图。

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%,但只显示左侧标签的高度。 请记住,标签也许真的很长的文本,所以我有标签宽度,高度自动

我试图将行高从自动更改为100%,但仍然无法正常工作。

任何帮助表示赞赏

回答

0

钛元素计算高度严重,如果使用“垂直”的布局。所以你必须自己设定他们的高度,或者移除布局属性来进行'绝对'定位。

+1

做布局时:“垂直”时,请务必添加高度:“10dp”或高度:Ti.UI.SIZE,通常它修复了计算视图高度时的错误。 – keithics

+0

@keithics我不认为你的方法如上所述。我设置了我的视图高度:10dp,布局:垂直。关联的视图全部设置为10dp。我误解了你的意思吗? –

1

我在填写要在屏幕上(而不是它包含的元素的高度)的高度和阅读的布局后视图元素的问题(!感谢JC)的变化,从JC格雷罗链接,我说:

Ti.UI.createView(height: Ti.UI.SIZE, ... 

,并成功地自动调整视图的高度来匹配它的内容

[编辑]删除引号,和它运作良好,谢谢!

相关问题