2016-11-22 2 views
1

У меня есть представление, которое содержит мой макет. при нажатии кнопки основной вид изменяется, но все его дети сохраняют одинаковые высоту и ширину. Как изменить размеры всех объектов, находящихся внутри основного вида?изменить размер всех объектов внутри вида в титане

, например, когда у меня есть это:

var view = Ti.UI.createView({ 
    height:deviceHeight, 
    width:deviceWidth 
}); 

view.add(Ti.UI.createView({ 
    height:Ti.UI.SIZE, 
    width:Ti.UI.SIZE 
})); 

как можно, например, изменить размер secunde вид, который добавляется к елей один?

Я разрабатываю приложение в титане в классическом режиме.

ответ

1

Потому что вы указали SIZE как размер для просмотра, он будет поддерживать этот размер. Поскольку вы не указали, что ему нужен размер, основанный на родительском.

Единственный способ сделать это - указать высоту и ширину в процентах.

Если ваше содержание действительно динамично, вы можете обмануть его.

При нажатии кнопки конвертируйте view в изображение с помощью var image = view.toImage().

Затем скрыть все содержимое вы добавили и вставить изображение в виде:

var image = view.toImage() 

var img = Ti.UI.createImageView({ 
    height: '100%', 
    width: '100%', 
    image: image 
}); 
view.add(img); 

Затем вы можете изменить ваш view и содержание будет изменять размеры тоже.

+1

спасибо, что это сработало. Я нашел проблему в вашем коде. Руда вы меняете с Ti.UI.createView на Ti.UI.createImageView руду вместо изображения: изображение вам нужно установить backgroundImage: image –

+0

ах да, конечно, должен быть ImageView;) –

+0

Еще один вопрос. в android у вас код занимает много времени, чтобы выполнить. есть ли более быстрый способ сделать это? –

Смежные вопросы