<1>FitLayout 自適應(yīng)布局
FitLayout 是布局的基礎(chǔ)類,對(duì)應(yīng)面板布局配置項(xiàng)(layout)的名稱為 fit,使用 fit 布局將使面板子元素自動(dòng)充滿容器,如果在當(dāng)前容器中存在多個(gè)子面板則只有第一個(gè)會(huì)被顯示。
var store = new Ext.data.SimpleStore( fields: ['id', 'name', 'desc'], ['2', '埃杜', '遼寧宏運(yùn)'], var grid = new Ext.grid.GridPanel( viewConfig: {forceFit: true}, {header:'排名', dataIndex: 'id'}, {header:'姓名', dataIndex:'name'}, {header:'球隊(duì)', dataIndex:'desc'} tbar: new Ext.Toolbar(['添加','修改','刪除']), bbar: new Ext.PagingToolbar( <1>layout: 'fit',組件的items只能放一個(gè)組件。即使放幾個(gè)組件,也只有第一個(gè)組件會(huì)起作用。 <2>items中的表格里千萬(wàn)不要使用aotuHeight:true參數(shù),這個(gè)參數(shù)會(huì)使Fitlayout失效。 var viewport = new Ext.Viewport(
<2>BorderLayout邊框布局
因?yàn)長(zhǎng)itLayout布局每次只能使用一個(gè)組件,更復(fù)雜的布局它根本無(wú)法勝任。
現(xiàn)實(shí)中使用最多的就是邊框布局,他將整個(gè)區(qū)域分成東西南北中五部分。除了中間區(qū)域其他區(qū)域都是可以省略的。
var viewport = new Ext.Viewport( //north和south兩個(gè)區(qū)域只能指定高度值,寬度值由BorderLayout自動(dòng)計(jì)算。 //east和west兩個(gè)區(qū)域只能指定寬度值,高度值由BorderLayout自動(dòng)計(jì)算。 {region:'north',html:'north',height:120}, {region:'south',html:'south',height:30}, {region:'east',html:'east',width:40}, {region:'west',html:'west',width:100}, {region:'center',html:'center'}
使用split并限制他的范圍
使用了就可以允許用戶自行拖放以改變某一區(qū)域的大小。
//north和south兩個(gè)區(qū)域只能上下拖放east和west兩個(gè)區(qū)域只能左右拖放 //minSize:菜單區(qū)域的最小范圍maxSize:菜單區(qū)域的最大范圍 {region:'west',html:'west',width:100,split:true,minSize:80,maxSize:120},
子區(qū)域的折疊和展開(kāi)
var viewport = new Ext.Viewport( //north和south兩個(gè)區(qū)域只能指定高度值,寬度值由BorderLayout自動(dòng)計(jì)算。 //east和west兩個(gè)區(qū)域只能指定寬度值,高度值由BorderLayout自動(dòng)計(jì)算。 {region:'north',html:'north',height:120}, {region:'south',html:'south',height:30}, {region:'east',html:'east',width:40}, //collapsible:true激活了west區(qū)域的折疊功能。title是必須的,如果沒(méi)有設(shè)置標(biāo)題,折疊按鈕就無(wú)法顯示。 {region:'west',html:'west',width:100,title:'菜單欄',width:150,collapsible:true}, {region:'center',html:'center'}
<3>制作伸縮菜單的布局 Accordion
設(shè)置layout: 'accordion',在使用items添加三個(gè)元素,每個(gè)子元素都要加上title參數(shù)。 var viewport = new Ext.Viewport( titleCollapse: true,//點(diǎn)擊標(biāo)題時(shí)就可以折疊面板 animate: true,//展開(kāi)和折疊都是用動(dòng)畫 activeOnTop: false//默認(rèn)是false執(zhí)行展開(kāi)和折疊操作后子面板的順序不會(huì)變。如果是true展開(kāi)的子面板總是放在上面。
<4>AnchorLayout 控制位置和大小的布局
AnchorLayout提供了一種比較靈活的布局方式,既可以為items中的每個(gè)組件指定與總體布局大小的差值,也可以 設(shè)置一個(gè)比例使子組件可以根據(jù)整體自己計(jì)算本身的大小。 anchor:'50% 80%' 寬度占整體寬度的50% 高度占整體高度的80% anchor:'50%' 寬度占整體寬度的50% 高度自動(dòng)設(shè)置為auto <2>直接設(shè)置與右側(cè)和底部的邊距 anchor:'-50 -100' 距右側(cè)50像素 距底部100像素 <3>使用前提是為作為整體布局的父組件和布局內(nèi)的子組件都設(shè)置好width,height和auchorSize屬性 Anchor會(huì)記錄布局整體與子組件在大小的差值 anchor:'r b' 也可寫成anchor:'right buttom' var viewport = new Ext.Viewport(
var viewport = new Ext.Viewport( anchorSize:{width:400,height:300},
<5>表單布局 formLayout
var viewport = new Ext.Viewport(
<6>TabPanel
var simple = new Ext.FormPanel( bodyStyle: 'padding:5px 5px 0', defaultType: 'textfield', bodyStyle : "padding:5px;", //當(dāng)Tab標(biāo)簽過(guò)多時(shí),出現(xiàn)滾動(dòng)條 defaultType : "textfield", fieldLabel : "單位負(fù)責(zé)人", defaultType : "textfield", fieldLabel : "公司規(guī)模", hiddenName : "customer.companyScale", fieldLabel : "開(kāi)戶銀行", name : "customer.openBank", fieldLabel : "銀行賬號(hào)", name : "customer.accountsNo", defaultType : "textarea", name : "customer.otherDesc", simple.render('spinner');
|