титановая высота и содержание - PullRequest
0 голосов
/ 20 января 2012

Я новичок в Titanium и пытаюсь понять, как работают представления, и я столкнулся с проблемой.

Я создал представление, содержащее одно изображение и 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%, но отображается только в соответствии с высотой меток слева.имейте в виду, что надписи могут быть очень длинными текстами, поэтому я имею ширину надписи, высоту auto

Я пытался изменить высоту строки с auto на 100%, но все еще не работал.

Любая помощь приветствуется

Ответы [ 3 ]

3 голосов
/ 27 апреля 2012

Попробуйте Titanium 2.0.Он решает множество этих типов проблем рендеринга.

Вы можете прочитать об этом в их вики Изменения макета Titanium 2.0

1 голос
/ 24 июля 2012

У меня были проблемы с заполнением элементов View до высоты экрана (в отличие от высоты элементов, которые в нем содержатся), и после прочтения ссылки на изменения макета из JC Guerrero (спасибо JC!) Я добавил:

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

и он автоматически настроил высоту представления в соответствии с его содержимым

[править] Удалена кавычка, и она работает хорошо, спасибо!

0 голосов
/ 14 февраля 2012

Титан плохо рассчитывает высоту элементов, если вы используете «вертикальный» макет. Поэтому вы должны сами установить их высоту или удалить свойство макета для «абсолютного» позиционирования.

...