作者:廖 章 编辑整理:刚 子 来自:移动Web开发社区
BoxLayout是箱子布局,该布局类似于药店里放置中草药的大柜子里一个个小箱子那样,把组件放置在容器中(Container)中。BoxLayout是HBoxLayout和VBoxLayout这两个布局类的父类,一般很少直接使用。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
var
viewport =
new
Ext.Panel({
fullscreen:
true
,
//width: 500,
//height: 200,
margin:
'0 0 0 0'
,
layout: {
type:
'hbox'
,
//指定layout布局方式为HBoxLayout
align:
'stretch'
//布局里的‘小容器’拉伸,类似window桌面图片那样,拉伸到整个页面大
},
items: [{
flex: 1,
//所占宽度的比率
//height: 200,
style:
'border:1px red solid'
,
//自定义样式
margin:
'0 20 0 0'
,
//设置边框距离
items: [{
xtype:
'button'
,
text:
'第一'
,
margin: 6
}]
},{
flex: 2,
//height: 200,
style:
'border:1px red solid'
,
margin:
'0 20 0 0'
,
html:
'<div style="border:1px red dashed;margin:6px;">第二个小箱子</div>'
},{
flex: 3,
//height: 200,
style:
'border:1px red solid'
,
items: [{
xtype:
'button'
,
text:
'第三'
,
margin: 6
}]
}]
});
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
var
viewport =
new
Ext.Panel({
fullscreen:
true
,
//width: 500,
//height: 200,
margin:
'0 0 0 0'
,
layout: {
type:
'vbox'
,
//指定layout布局方式为VBoxLayout
align:
'stretch'
//布局里的‘小容器’拉伸
},
items: [{
flex: 1,
//所占宽度的比率
//height: 200,
style:
'border:1px red solid'
,
margin:
'0 0 10 0'
,
items: [{
xtype:
'button'
,
text:
'第一'
,
margin: 6
}]
},{
flex: 2,
//height: 200,
style:
'border:1px red solid'
,
margin:
'0 0 10 0'
,
html:
'<div style="border:1px red dashed;margin:6px;">第二个小箱子</div>'
},{
flex: 3,
//height: 200,
style:
'border:1px red solid'
,
items: [{
xtype:
'button'
,
text:
'第三'
,
margin: 6
}]
}]
});
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
var
viewport =
new
Ext.Panel({
fullscreen:
true
,
//width: 500,
//height: 200,
margin:
'0 0 0 0'
,
layout:
'fit'
,
//指定layout布局方式为FitLayout
items: [{
style:
'border:1px red solid'
,
html:
'<div style="border:1px red dashed;margin:6px;">第一个小箱子</div>'
},{
style:
'border:1px blue solid'
,
html:
'<div style="border:1px red dashed;margin:6px;">第二个小箱子</div>'
}]
});
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
//工具栏-toolbar
var
funBar = {
xtype:
'toolbar'
,
title:
'CardLayout例子'
,
dock:
'top'
,
//工具栏放置的位置(必须的属性):top-上,bottom-下,left-左,right-右
scroll:
'horizontal'
,
height: 30,
items: [{
xtype:
'button'
,
text:
'桌面'
,
ui:
'back'
,
//iconMask: true,
//iconCls: 'home',
style: btStyle,
handler:
function
(){
window.location = prefix +
'/index.action'
;
}
},{
xtype:
'button'
,
text:
'第一个子面板'
,
style: btStyle,
handler:
function
(){
changeItem(
'p1'
);
}
},{
xtype:
'button'
,
text:
'第二个子面板'
,
style: btStyle,
handler:
function
(){
changeItem(
'p2'
);
}
}]
};
//主界面
var
viewport =
new
Ext.Panel({
fullscreen:
true
,
margin:
'0 0 0 0'
,
layout:
'card'
,
//指定layout布局方式为CardLayout
activeItem: 0,
dockedItems: [funBar],
items: [{
id:
'p1'
,
style:
'border:1px red solid'
,
html:
'<div style="border:1px red dashed;margin:6px;">第一个小箱子</div>'
},{
id:
'p2'
,
style:
'border:1px blue solid'
,
html:
'<div style="border:1px red dashed;margin:6px;">第二个小箱子</div>'
}]
});
//切换子面板
var
changeItem =
function
(id){
viewport.setActiveItem(id,
'slide'
);
};
};
|