HBoxLayout

Последнее обновление: 1.11.2015

Компоновка HBoxLayout во многом похожа на вертикальный стек из прошлого раздела, только располагает элементы горизонтально, а вместо свойства height мы определяем свойство width:

	Ext.onReady(function(){
		Ext.create('Ext.panel.Panel', {
			renderTo: Ext.getBody(),
			width: 400,
			height: 200,
			padding:10,
			title: 'Приложение Ext JS 4',
			layout: {
					type: 'hbox',
					align: 'stretch'
				},
            items: [{
                    xtype: 'panel',
                    title: 'Первая панель',
                    width:120
                },{
                    xtype: 'panel',
                    title: 'Вторая панель',
                    width:140
                },{
                    xtype: 'panel',
                    title: 'Третья панель',
                    width:120
                }]
        });
    });

Как и в прошлом разделе мы задаем у контейнера свойство layout, которое имеет похожие параметры.

Параметр align

Теперь этот параметр определяет вертикальное выравнивание дочерних элементов. Для данной компоновки этот параметр может принимать следующие значения:

  • stretch - растягивает элементы по вертикали до границ контейнера.

  • top - значение по умолчанию, элементы прижимаются к верхней границе контейнера

  • middle - элементы располагаются в центре контейнера

  • stretchmax - позволяет растянуть все элементы до высоты самого высокого элемента, что позволяет нам указать высоту только у одного элемента:

    Ext.onReady(function(){
    		Ext.create('Ext.panel.Panel', {
    			renderTo: Ext.getBody(),
    			width: 400,
    			height: 200,
    			padding:10,
    			title: 'Приложение Ext JS 4',
    			layout: {
    					type: 'hbox',
    					align: 'stretch'
    				},
                items: [{
                        xtype: 'panel',
                        title: 'Первая панель',
                        width:120
                    },{
                        xtype: 'panel',
                        title: 'Вторая панель',
                        flex: 1
                    },{
                        xtype: 'panel',
                        title: 'Третья панель',
                        flex: 2
                    }]
            });
        });
    

Параметр flex и гибкие размеры

Здесь flex работает аналогично компоновке Vbox, только теперь автоматически устанавливается не высота, а ширина элемента, то есть параметр flex используется вместо параметра width

Параметр pack

Параметр pack определяет выравнивание по ширине, но работает он, если не задан параметр flex ни в одном из элементов. Он может принимать следующие значения:

  • start - прижимает элементы к левой границе контейнера и используется по умолчанию

  • center - элементы располагаются в центре контейнера

  • end - элементы прижимаются к правой границе контейнера:

Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850