BorderLayout

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

BorderLayout позволяет прикреплять элементы к одной из четырех сторон окна, либо закрепить его в центре:

Ext.onReady(function(){
	Ext.create('Ext.Panel', {
            width: 500,
            height: 360,
			padding: 10,
            layout:'border',
            items: [{
                    xtype: 'panel',
                    title: 'Центральная панель',
                    html: 'Центральная панель',
                    region: 'center',
                    margin: '5 5 5 5'
                },{
                    xtype: 'panel',
                    title: 'Верхняя панель',
                    html: 'Верхняя панель',
                    region: 'north',
                    height: 80
                },{
                    xtype: 'panel',
                    title: 'Нижняя панель',
                    html: 'Нижняя панель',
                    region: 'south',
                    height: 80
                },{
                    xtype: 'panel',
                    title: 'Левая панель',
                    html: 'Левая панель',
                    region: 'west',
                    width: 100
                },{
                    xtype: 'panel',
                    title: 'Правая панель',
                    html: 'Правая панель',
                    region: 'east',
                    width: 120
                }] ,
            renderTo: Ext.getBody()
        });
 });
BorderLayout в ExtJS

Значение layout:'border' устанавливает компоновку. Затем мы задаем панели, которые примыкают к определенным сторонам контейнера с помощью параметра region. Этот параметр может принимать следующие значения:

  • center - элемент размещается по центру

  • north - элемент прижимается к верхней границе контейнера ("к северу")

  • south - элемент прижимается к нижней границе контейнера

  • west - элемент прижимается к левой стороне контейнера

  • east - элемент прижимается к правой стороне контейнера

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

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

  • collapsed: true - означает, что панель будет скрыта при запуске

  • collapsible: true - позволяет раскрыть/скрыть панель по нажатию на заголовок панели

  • titleCollapse: true - скрывает панель

  • split: true - позволяет раздвигать панель

Используем новые возможности:

Ext.onReady(function(){
	Ext.create('Ext.Panel', {
            width: 500,
            height: 360,
			padding: 10,
            layout:'border',
            items: [{
                    xtype: 'panel',
                    title: 'Центральная панель',
                    html: 'Центральная панель',
                    region: 'center'
                },{
                    xtype: 'panel',
                    title: 'Верхняя панель',
                    html: 'Верхняя панель',
                    region: 'north',
                    height: 80,
					collapsible: true,
                    titleCollapse: true
                },{
                    xtype: 'panel',
                    title: 'Нижняя панель',
                    html: 'Нижняя панель',
                    region: 'south',
                    height: 80
                },{
                    xtype: 'panel',
                    title: 'Левая панель',
                    html: 'Левая панель',
                    region: 'west',
                    width: 100,
                    collapsible: true,
                    collapsed: true
                },{
                    xtype: 'panel',
                    title: 'Правая панель',
                    html: 'Правая панель',
                    region: 'east',
                    width: 120,
                    split: true
                }] ,
            renderTo: Ext.getBody()
        });
 });
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850