Titanium.UI.Высота свойства метки

#android-emulator #titanium

#android-эмулятор #titanium

Вопрос:

В моем коде я делаю это:

 var taskLabel = Ti.UI.createLabel({color:'#777', top:3, textAlign:'center', height:'auto', text:task.title});
Ti.API.info('Next info is: taskLabel.height');
Ti.API.info(taskLabel.height);
  

Но результат этого:

 [INFO] [123,883] Next info is: taskLabel.height
  

И ничего более, похоже, что он отключается беззвучно, но я думаю, что этого не должно быть, основываясь на API.

Я пытаюсь суммировать некоторые высоты элементов, но я бы предпочел, чтобы это вело себя как html postion:relative . В любом случае, я хотел бы прочитать высоту в float, как я могу этого добиться?

Комментарии:

1. работает ли он с фиксированной высотой?

Ответ №1:

При использовании автоматической высоты необходимо установить фиксированную ширину. Например:

 var taskLabel = Ti.UI.createLabel({color:'#777', top:3, textAlign:'center', height:'auto', width: 200, text:task.title});
  

Ответ №2:

вы не получите высоту, пока она не будет фактически отрисована и добавлена в view или window.

Ответ №3:

Вы не можете отключить свойство height таким образом, если вы не определяли его вручную.

Оно должно быть добавлено в представление, а затем отображено (при условии, что оно не отображается автоматически), прежде чем Titanium вернет что-либо о высоте.

 var window = Ti.UI.createWindow();
var taskLabel = Ti.UI.createLabel({color:'#777', top:3, textAlign:'center', height:'auto', text:task.title});
window.add(taskLabel);
window.open();
Ti.API.info('Next info is: taskLabel.height');
Ti.API.info(taskLabel.height);
  

Это должно сработать, чтобы показать высоту.

Ответ №4:

Это должно сработать.

  var lbl_obj = Ti.UI.createLabel( { height: 'auto', text:'Test Label', top:10 } );
 var height = lbl_obj.toImage().height;
 Ti.API.info(height);