Ext常用6大布局方式
阿新 • • 發佈:2019-01-03
前言:
只要是EXT.Container以及其之類都可以都可以使用Layout對其Items進行佈局
簡單說明最常用到的6種佈局方式:
一.最簡單的佈局:FitLayout
Javascript程式碼
注意:
1.使用Fit佈局 items中只能有一個元件,如果你放置了多個元件,也只能是第一個用效。
2.使用Fit佈局在元件中不能使用:autoHeight:true 否則會使FitLayout實效
二.最常用的佈局:BorderLayout
Javascript程式碼
注意:
1.center屬性值必須指定
2.north,south 不要指定width
3.west,east不要指定height
4.不要使用autoHeight,autoWidth
5.新增split:true屬性可以控制區域大小
三.表單佈局:FormLayout
Javascript程式碼
注意:
1.從上面的繼承圖可以看出FormLayout是AnchorLayout的子類,因此可以在裡面使用anchor屬性設定大小比例
2.FormLayout是FormPanel預設的佈局方式,因此可以不顯示寫出Layout:'form'
3.fieldLabel,boxLabel在FormLayout佈局情況下才能顯示出來
四.列布局:ColumnLayout
Javascript程式碼
注意:
1.items的每個子元件中的columnWidth加起來的和必須為1
五.控制大小布局:AnchorLayout
Javas程式碼
六.伸縮摺疊佈局:Accordion
Javascript程式碼
注意:
1.使用Accordion佈局一定要設定標題:title
只要是EXT.Container以及其之類都可以都可以使用Layout對其Items進行佈局
簡單說明最常用到的6種佈局方式:
一.最簡單的佈局:FitLayout
Javascript程式碼
- new Ext.Viewport({
- layout:'fit',
- items:[oGrid] //oGrid是一個表格
- });
注意:
1.使用Fit佈局 items中只能有一個元件,如果你放置了多個元件,也只能是第一個用效。
2.使用Fit佈局在元件中不能使用:autoHeight:true 否則會使FitLayout實效
二.最常用的佈局:BorderLayout
Javascript程式碼
- new Ext.Viewport({
- layout:'border'
- items:[
- {region:'north',height:100},
- {region:'south',height:100},
- {region:'west',width:200},
- {region:'east',width:200},
- {region:'center'}
- ]
- });
注意:
1.center屬性值必須指定
2.north,south 不要指定width
3.west,east不要指定height
4.不要使用autoHeight,autoWidth
5.新增split:true屬性可以控制區域大小
三.表單佈局:FormLayout
Javascript程式碼
- new Ext.form.FormPanel({
- layout:'form', //預設是FormLayout佈局(可寫可不寫)
- items:[{
- xtype:'textfield'
- fieldLabel:'名稱',
- name:'name',
- anchor:'90%'
- },{
- xtype:'datefield',
- fieldLabel:'生日',
- name:'birthday',
- anchor:'90%'
- },{
- xtype:'textfield',
- fieldLabel:'性別',
- name:'sex',
- anchor:'90%'
- }]
- });
注意:
1.從上面的繼承圖可以看出FormLayout是AnchorLayout的子類,因此可以在裡面使用anchor屬性設定大小比例
2.FormLayout是FormPanel預設的佈局方式,因此可以不顯示寫出Layout:'form'
3.fieldLabel,boxLabel在FormLayout佈局情況下才能顯示出來
四.列布局:ColumnLayout
Javascript程式碼
- new Ext.Viewport({
- layout:'column',
- itmes:[{
- title:'第一列',
- columnWidth:.3 //30%
- },{
- title:'第二列',
- columnWidht:.3 //30%
- },{
- title:'第三列',
- columnWidth:.4 //40%
- }]
- });
注意:
1.items的每個子元件中的columnWidth加起來的和必須為1
五.控制大小布局:AnchorLayout
Javas程式碼
- new Ext.Viewport({
- layout:'anchor',
- itmes:[{
- title:'one',
- anchor:'50% 60%'//表示所佔寬度,高度的百分比
- },{
- title:'two',
- anchor:'40%' //表示所佔寬度,高度百分比都是40%
- },{
- title:'three',
- anchor:'-20 -100' //表示距離右側的20px,距離底部100px
- },{
- title:'four',
- anchor:'-300' //表示距離右側,底部都為300px
- }]
- });
六.伸縮摺疊佈局:Accordion
Javascript程式碼
- new Ext.Viewport({
- layout:'border',
- items:[{
- region:'west',
- width:200,
- layout:'accordion', //伸縮摺疊佈局
- layoutConfig:{
- titleCollapse:true, //單擊標題可以摺疊
- animate:true, //展開摺疊時的動畫效果
- activeOnTop:true,//展開的子面板的順序總在最上面
- },
- items:[{
- title:'第一欄',
- html:'one'
- },{
- title:'第二欄',
- html:'two'
- },{
- title:'第三欄',
- html:'three'
- },{
- title:'第四欄',
- html:'four'
- }]
- },{
- region:'center',
- split:true,
- border:true
- }]
- });
注意:
1.使用Accordion佈局一定要設定標題:title
2.與佈局有關(所有佈局方式都可以)的引數屬性都可以寫在layoutConfig:{}裡面 ;