今天记录一下关于sencha touch中的几种布局,其实很简单的,还是直接上代码,一目了然
1:box布局,其实就是vbox和hbox,说白了一个是横着摆放,一个是竖着摆放
Ext.application({ name:'myApp', launch: function(){ var myPanel=Ext.create('Ext.Panel',{ id:'myPanel', layout:{ type:'hbox', pack:'end' }, items:[ { html:'One', flex:1, style:'background-color:red' }, { html:'two', flex:2, style:'background-color:green' } ] }) Ext.Viewport.add(myPanel); } })
第二种card布局,可以想象成多个叠加在一起的卡片,比如一副扑克都放在一起,一次只能看到一张
Ext.application({ name:'itKingApp', /** * card 布局 */ launch:function(){ var panel=Ext.create('Ext.Panel',{ //card 布局: 父容器内可以存在多个子组件,但每一次只能显示一个,所以需要使用setActiveItem // 来设置显示的子组件 // 可以使用docked配置选项,进行停靠,上下左右 layout:'card', items:[ { //docked:'left', html:'第一个', style:'background-color:green' }, { //docked:'right', html:'第二个', style:'background-color:yellow' } ] }); Ext.Viewport.add(panel); panel.setActiveItem(1); } })
第三种是fit布局,fit就是填满的意思,就是不满父容器了
Ext.application({ name:'itKingApp', /** * fit 布局 */ launch:function(){ var panel=Ext.create('Ext.Panel',{ items:[ { html:'myPanel', style:'background-color:green' } ], layout:'fit' //fit 布局: 1:只存在一个子组件时,自动扩展到与父容器同样的大小 // 2:一般都为1个子组件,如果存在多个的话,也只显示一个, }); Ext.Viewport.add(panel) } })
以上这些,其实自己用代码试验两次,就知道怎么回事了,这只是大体布局,其实精确的还是使用css了