Ext常用6大布局方式

前言:  

只要是EXT.Container以及其之类都可以都可以使用Layout对其Items进行布局 
 

简单说明最常用到的6种布局方式: 

一.最简单的布局:FitLayout  
Javascript代码   收藏代码
  1. new Ext.Viewport({  
  2.  layout:'fit',  
  3.  items:[oGrid]  //oGrid是一个表格  
  4. });  

注意: 
1.使用Fit布局 items中只能有一个组件,如果你放置了多个组件,也只能是第一个用效。 
2.使用Fit布局在组件中不能使用:autoHeight:true 否则会使FitLayout实效 



二.最常用的布局:BorderLayout  
Javascript代码   收藏代码
  1. new Ext.Viewport({  
  2.  layout:'border',  
  3.  items:[  
  4.  {region:'north',height:100},  
  5.  {region:'south',height:100},  
  6.  {region:'west',width:200},  
  7.  {region:'east',width:200},  
  8.  {region:'center'}  
  9. ]  
  10. });  

注意: 
1.center属性值必须指定 
2.north,south 不要指定width 
3.west,east不要指定height 
4.不要使用autoHeight,autoWidth 
5.添加split:true属性可以控制区域大小 



三.表单布局:FormLayout  
Javascript代码   收藏代码
  1. new Ext.form.FormPanel({  
  2.     layout:'form'//默认是FormLayout布局(可写可不写)  
  3.     items:[{  
  4.         xtype:'textfield'  
  5.         fieldLabel:'名称',  
  6.         name:'name',  
  7.         anchor:'90%'  
  8.     },{  
  9.         xtype:'datefield',  
  10.         fieldLabel:'生日',  
  11.         name:'birthday',  
  12.         anchor:'90%'  
  13.     },{  
  14.         xtype:'textfield',  
  15.         fieldLabel:'性别',  
  16.         name:'sex',  
  17.         anchor:'90%'  
  18.     }]  
  19. });  

注意: 
1.从上面的继承图可以看出FormLayout是AnchorLayout的子类,因此可以在里面使用anchor属性设置大小比例 
2.FormLayout是FormPanel默认的布局方式,因此可以不显示写出Layout:'form' 
3.fieldLabel,boxLabel在FormLayout布局情况下才能显示出来 



四.列布局:ColumnLayout  
Javascript代码   收藏代码
  1. new Ext.Viewport({  
  2.     layout:'column',  
  3.     itmes:[{  
  4.         title:'第一列',  
  5.         columnWidth:.3   //30%  
  6.     },{  
  7.         title:'第二列',  
  8.         columnWidht:.3  //30%  
  9.     },{  
  10.         title:'第三列',  
  11.         columnWidth:.4  //40%  
  12.     }]  
  13. });  

注意: 
1.items的每个子组件中的columnWidth加起来的和必须为1
 


五.控制大小布局:AnchorLayout  
Javas代码   收藏代码
  1. new Ext.Viewport({  
  2.     layout:'anchor',  
  3.     itmes:[{  
  4.         title:'one',  
  5.         anchor:'50% 60%'//表示所占宽度,高度的百分比  
  6.     },{  
  7.         title:'two',  
  8.         anchor:'40%' //表示所占宽度,高度百分比都是40%  
  9.     },{  
  10.         title:'three',  
  11.         anchor:'-20 -100' //表示距离右侧的20px,距离底部100px  
  12.     },{  
  13.         title:'four',  
  14.         anchor:'-300'   //表示距离右侧,底部都为300px  
  15.     }]  
  16. });  



六.伸缩折叠布局:Accordion  
Javascript代码   收藏代码
  1. new Ext.Viewport({  
  2.     layout:'border',  
  3.     items:[{  
  4.         region:'west',  
  5.         width:200,  
  6.         layout:'accordion'//伸缩折叠布局  
  7.         layoutConfig:{  
  8.             titleCollapse:true//单击标题可以折叠  
  9.             animate:true,  //展开折叠时的动画效果  
  10.             activeOnTop:true,//展开的子面板的顺序总在最上面  
  11.         },  
  12.         items:[{  
  13.             title:'第一栏',  
  14.             html:'one'  
  15.         },{  
  16.             title:'第二栏',  
  17.             html:'two'  
  18.         },{  
  19.             title:'第三栏',  
  20.             html:'three'  
  21.         },{  
  22.             title:'第四栏',  
  23.             html:'four'  
  24.         }]  
  25.   
  26.     },{  
  27.         region:'center',  
  28.         split:true,  
  29.         border:true  
  30.     }]  
  31. });  

注意: 
1.使用Accordion布局一定要设置标题:title 

2.与布局有关(所有布局方式都可以)的参数属性都可以写在layoutConfig:{}里面 ; 




猜你喜欢

转载自blog.csdn.net/weixin_41233524/article/details/80702710