“钛”;标签宽度“;适用于iOS,但不适用于Android

“钛”;标签宽度“;适用于iOS,但不适用于Android,android,ios,titanium,Android,Ios,Titanium,我正在用钛合金开发一个应用程序,并成功完成了iOS版本。Android出现了一些问题,这里有一个 该视图包含多个标签,用于以该格式显示数据 A:B(注意B是粗体)。粗体部分是必要的,这也是我需要两个标签的原因 这是我正在使用的代码: if(restaurant && !(restaurant=='no' && restaurant.length=='2')){ var restaurant_label = Ti.UI.createLabel({

我正在用钛合金开发一个应用程序,并成功完成了iOS版本。Android出现了一些问题,这里有一个

该视图包含多个标签,用于以该格式显示数据 A: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;
}
“值”标签需要位于正确的位置,但android似乎无法获得先前添加标签的宽度


给出了什么?

在一个bug报告中,出现了一些关于label.width查询应该报告什么的问题。根据1.7版的bug报告,对您的查询的正确响应应该在Android上返回“auto”。这种情况是因为宽度的值为“auto”。它是否返回“自动”

碰巧,这里列出了正确的代码来获取您要查找的值。我还没有对此进行测试,但您可能查询了错误的值

对于您的情况,您似乎希望使用:

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'
        }
    });
var\u value=Ti.UI.createLabel({
文字:餐厅,

左图:餐厅标签。尺寸。宽度+10,//欢迎来到痛苦的钛和大多数(所有?)跨平台的所谓解决方案。此类问题经常发生。