вывод массива ссылок без наложения! - PullRequest
0 голосов
/ 28 января 2010

При динамическом выводе ссылок я не могу определить Y-Pos динамически. Это будет работать, если мои ссылки будут однолинейными.

link_txt.y = i * 20;

это будет работать, только если ссылки однолинейные. при условии, что они 15px для высоты + 5 для расстояния.

Как только они становятся двумя строками, они перекрываются. Я пробовал разные методы, но не смог понять.

Есть идеи?

Ответы [ 3 ]

3 голосов
/ 28 января 2010

Если под «выводом ссылок» вы имеете в виду создание вертикального списка ссылок, подразумеваемого вашим фрагментом кода, вы можете попробовать что-то вроде этого:

var field:TextField;
var prev:TextField;

for( var i:int = 0; i < _fields.length; i++ )
{
   field = _fields[i]
   field.y = prev ? ( prev.y + prev.height ) + padding : 0;
   prev = field;
}

Хитрость в том, что условная строка в одну строку проверит, есть ли допустимая ссылка на prev var. Если он установлен, то позиция y текущего поля в цикле будет установлена ​​на предыдущие поля y + его высота + отступ (необязательно). Если нет действительной ссылки на предыдущее поле, тогда для полей y будет установлено значение 0.

0 голосов
/ 28 января 2010
var offsetY : Number = 0;
for (var i : int = 0; i < links.length; i++) {   
 var link_txt : TextField = TextField(links[i]);
 link_txt.autoSize = TextFieldAutoSize.LEFT;
 link_txt.text = "http://www.google.be";
 link_txt.y = offsetY;   
 offsetY += (link_txt.height + 5);   
 addChild(link_txt); 
}
0 голосов
/ 28 января 2010

Я считаю, что вы ищете это свойство textHeight TextField.

LiveDocs TextField textHeight

...