我正在开发一款钛合金应用,并成功完成了iOS版本。 Android提出了一些问题,这里有一个问题。
视图包含许多标签,用于显示格式的数据 答: B (注意B是粗体)。那个大胆的部分是必要的,我之所以需要两个标签。
这是我正在使用的代码:
if(restaurant && !(restaurant=='no' && restaurant.length=='2')){
var restaurant_label = Ti.UI.createLabel({
text:'Restaurant:',
left:3,
height:20,
width:'auto',
top:0,
textAlign:'left',
color:'#000',
font:{
fontFamily:'Helvetica Neue',
fontSize:13,
fontWeight:'Regular'
}
});
view.add(restaurant_label);
var restaurant_value = Ti.UI.createLabel({
text:restaurant,
left:restaurant_label.width+10,
height:'auto',
width:'auto',
top:-18,
textAlign:'left',
color:'#000',
font:{
fontFamily:'Helvetica Neue',
fontSize:13,
fontWeight:'Bold',
fontStyle:'Italic'
}
});
view.add(restaurant_value);
check_localservices = false;
}
“value”标签需要在正确的位置,但android似乎无法获得先前添加的标签的宽度。
是什么给出了?
答案 0 :(得分:0)
错误报告中显示,对于label.width查询报告的内容存在疑问。根据1.7版的错误报告,对您的查询的正确回复应该在Android上返回“auto”。这是因为你有'auto'作为宽度值。它会返回'auto'吗?
https://jira.appcelerator.org/browse/TIMOB-3202
看起来似乎在那里列出了正确的代码以获得您正在寻找的值。我没有对此进行测试,但看起来您可能正在查询错误的值。
根据您的情况,您似乎想要使用:
var restaurant_value = Ti.UI.createLabel({
text:restaurant,
left:restaurant_label.size.width+10, // <===== size
height:'auto',
width:'auto',
top:-18,
textAlign:'left',
color:'#000',
font:{
fontFamily:'Helvetica Neue',
fontSize:13,
fontWeight:'Bold',
fontStyle:'Italic'
}
});
根据评论,您可能还需要在“打开”窗口后查询size属性。如果你看一下Paul Dowsett的答案,他就有一个关于'开放'事件的听众的例子。