日期:2014-05-16 浏览次数:20606 次
所有ExtJs的Layout Class都在API Documentation->Ext->Layout下,如果想用哪种而已方式可以直接查询API帮助文档.我写这篇文章的意思是把学习的时候做的笔记保留下了,为了以后使用方便.
下面列出的是一些常用的Layout.
layout.html页面代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ExtJs Layout Example</title>
<link rel="stylesheet" type="text/css" href="../ext-3.2.0/resources/css/ext-all.css"></link>
<script type="text/javascript" src="../ext-3.2.0/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="../ext-3.2.0/ext-all.js"></script>
<script type="text/javascript" src="../js/layout.js"></script>
</head>
<body>
<div id="columnId"></div>
<div id="borderId"></div>
<div id="fitId"></div>
<div id="accordionId"></div>
<div id="anchorId"></div>
</body>
</html>
以下的代码都是放在..js/layout.js文件中的.
1.columnLayout
/*
创建column布局
*/
function createColumnPanel(){
var obj = {
title : '父面板',
width : 600,
height : 400,
layout : 'column',//一列一列的显示容器中的元素
items : [{
xtype : 'panel',//子元素中默认的显示类型为:panel.也可以根据需要换成button等.
title : '页面1',
columnWidth : 0.5,//以面板整体宽度大小的25%大小进行填充.
height : 200,//高度为固定值.
layout : 'column',
items : [{
xtype : 'button',
text : '按钮1',
columnWidth : 0.5
},{
xtype : 'button',
text : '按钮2',
columnWidth : 0.5
}],
html : '我是面板1'
},{
title : '页面2',
columnWidth : 0.5,
height : 50,
html : '我是面板2'
}]
} ;
//实例化父面板
var mainPanel = new Ext.Panel(obj) ;
//将父面板添加到id为columnId的标签上.
mainPanel.render("columnId") ;
}
2.borderLayout
/*
创建border布局
*/
function createBorderPanel(){
var obj = {
title : '父面板',
width : 600,
height : 400,
layout : 'border',//以东南西北中的方式显示容器中的元素
items : [{
title: 'North Region',
region: 'north', // 上
height : 50
},{
title: 'South Region',
region: 'south', // 下
height: 50
},{
title: 'West Region',
region:'west', // 左
split: true, //设置可以调整该panel的大小(宽度)
collapsible: true, //设置该面板是否可以收缩
width: 50
},{
title: 'East Region',
region: 'east', // 右
width : 50
},{
title: 'Center Region',
region: 'center', // 中,此面板必须存在.
layout: 'border',
items: [{
title: 'west',
region: 'west',
width: '50%'
},{
title: 'center',
region: 'center',
}]
}]
} ;
//实例化父面板
var mainPanel = new Ext.Panel(obj) ;
//将父面板添加到id为borderId的标签上.
mainPanel.render("borderId") ;
}
?3.fitLayout
/*
创建fit布局
*/
function createFitPanel(){
var obj = {
title : '父面板',
width : 600,
height : 400,
layout : 'fit',//填满整个外部容器,只能看到一个子元素
items : [{
title : '页面1',
html : '我是面板1'
},{
title : '页面2',
html : '我是面板2'
}]
} ;
//实例化父面板
var mainPanel = new Ext.Panel(obj) ;
//将父面板添加到id为columnId的标签上.
mainPanel.render("fitId") ;
}
4.accordionLayout
/*
创建accordion布局
*/
function createAccordionPa