`
keepwork
  • 浏览: 334345 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

EXT--layout的用法总结

    博客分类:
  • EXT
ext 
阅读更多

开发者博客www.developsearch.com

 

layout中有absolute,anchor,border,accordion,card,form,table,column,fit这几种,现一一举例: 
1.absolute根据字面意思就知道,是根据具体坐标进行定位的,固不写相应的代码了,其他的如下 
2.anchor:其值可以使百分比和数值,数值一般为负数,其代表的意思是如果宽度和长度中有一个设定值了,则anchor代表的是未设置的那个,如果两者都没有设定具体值,则如果需要使用anchor则需要anchro:'ww,hh'

Ext.onReady(function() {  
       Ext.create('Ext.Window',{
		title:'Anchor layout',
		width:400,
		height:400,
		layout:'anchor',
		plain: true,
		items:[
			Ext.create('Ext.panel.Panel',{
				title:'panel1',
				height:100,
				anchor:'-50',
				html:'高度等于100,宽度= 容器宽度-50'
			}),
			Ext.create('Ext.panel.Panel',{
				title:'panel2',
				height:100,
				anchor:'50%',
				html:'高度等于100,宽度=容器的宽度*50%'
			}),
			Ext.create('Ext.panel.Panel',{
				title:'panel3',
				anchor:'-10,-200',
				html:'高度等于容器高度-10,宽度等于容器宽度-200'
			})
		]
		
	}).show(); 
    }); 

 

 

3.border:将容器分为五个区域:east,south,west,north,center

 

 

 

Ext.onReady(function(){
         var tab = Ext.create('Ext.tab.Panel',{
		region:'center',//border布局,将页面分成东,南,西,北,中五部分,这里表示TabPanel放在中间  
		margins:'3,3,3,0',
		activeTab:0,
		defaults:{
			autoScroll:true
		},
		items:[{
			title:'tab1',
			html:'第一个tab内容'
		},{
			title:'tab2',
			html:'第二个tab内容'
		},{
			title:'tab3',
			html:'第三个tab内容'
		}]
		
	})
	var nav = Ext.create('Ext.panel.Panel',{
		title:'navigation',
		region:'west',
		split:true,
		width:200,
		collapsible:true,//允许伸缩
		margins:'3,0,3,3',
		cmargins:'3,3,3,'
	});
	Ext.create('Ext.Window',{
		title:'Layout Window',
		width:600,
		height:350,
		closable:true,
		border:false,
		plain:true,
		layout:'border',
		closeAction:'hide',
		items:[nav,tab]
	}).show();
)};

 

 

4.accordion:这个风格是手风琴式的,效果是如果 有多个item,则点击其中一个,则展开,其他的则收缩。

Ext.OnReady(function(){  
     Ext.create('Ext.panel.Panel',{
		title:'容器组件',
		layout:'accordion',
		width:600,
		height:200,
		layoutConfig:{animate:false},
		items:[{
		   title:'元素1',html:''
		},{
		   title:'元素2',html:''
		},{
		   title:'元素3',html:''
		},{
		   title:'元素4',html:''
		}]
		
	}); 
}); 

 

 

5.card:像安装向导一样,一张一张显示

 

Ext.onReady(function(){
	var navigate = function(panel,direction){
		var layout = panel.getLayout();
		layout[direction]();
		Ext.getCmp('move-prev').setDisabled(!layout.getPrev());
		Ext.getCmp('move-next').setDisabled(!layout.getNext());
	};
	Ext.create('Ext.panel.Panel',{
				title:'Example Wizard',
				height:500,
				width:400,
				layout: 'card',
				activeItem:0,
				bodyStyle:'padding:15px',
				animCollapse:true,
				renderTo:Ext.getBody(),
				defaults:{
       				 // applied to each contained panel
        			border: false
   				},
				bbar:[{
					id:'move-prev',
					text:'back',
					handler:function(btn){
						navigate(btn.up("panel"),"prev");
					},
					disabled:true
				},'->',{
					id:'move-next',
					text:"next",
					handler:function(btn){
						navigate(btn.up("panel"),"next");
					}
				}],
				items:[{
					id:'card-0',
					html:'<h1>Welcome to the Wizard!</h1>'
				},{
					id:'card-1',
					html:'<p>step 2 of 3 </p>'
				},{
					id:'card-2',
					html:'<h1>Congratulations!</h1><p>Step 3 of  3-complete</p>'
				}]
			});
});

 

 

6.form:是一种专门用于管理表单中输入字段的布局

Ext.onReady(function() {  
        var win = Ext.create('Ext.Window',{  
            title: "form Layout",  
            height: 150,  
            width: 230,  
            plain: true,  
            bodyStyle: 'padding:15px',  
            items:   
            {  
                xtype: "form",  
                labelWidth: 30,  
                defaultType: "textfield",  
                frame:true,  
                items:   
                [  
                    {  
                        fieldLabel:"姓名",  
                        name:"username",  
                        allowBlank:false  
                    },  
                    {  
                        fieldLabel:"呢称",  
                        name:"nickname"  
                    },  
                    {  
                        fieldLabel: "生日",  
                        xtype:'datefield',  
                        name: "birthday",  
                        width:127  
                    }  
                ]  
            }  
        });  
        win.show();  
    });  

 

7.table:按照普通表格的方法布局子元素,用layoutConfig:{columns:3},//将父容器分成3列

Ext.onReady(function(){  
      Ext.create('Ext.panel.Panel',  
      {  
       renderTo:Ext.getBody(),  
       title:'容器组件',  
       layout:'table',         
       width:500,  
       height:200,  
       layoutConfig:{columns:3},//将父容器分成3列  
       items:[  
        {title:'元素1',html:'ssssssssss',rowspan:2,height:100},  
        {title:'元素2',html:'dfffsddsdfsdf',colspan:2},  
        {title:'元素3',html:'sdfsdfsdf'},  
        {title:'元素4',html:''}  
       ]  
      }  
     );  
}); 

 

8.column:把整个容器看成一列,然后向容器放入子元素时

Ext.onReady(function() {  
        var win = Ext.create('Ext.Window',{  
            title: "Column Layout",  
            height: 300,  
            width: 400,  
            plain: true,  
            layout: 'column',  
            items: [{  
                title:"width=50%",  
                columnWidth:0.5,  
                html:"width=(容器宽度-容器内其它组件固定宽度)*50%",  
                height:200  
            },  
            {  
                title:"width=250px",  
                width: 200,  
                height:100,  
                html:"固定宽度为250px"  
            }              
            ]  
        });  
        win.show();  
    });  

 

9.fit:填充整个容器(如果多个子元素则只有一个元素充满整个容器)

Ext.OnReady(function(){  
   Ext.create(Ext.create(Ext.panel.Panel',  
      {  
       renderTo:'paneldiv',  
       title:'容器组件',  
       layout:'fit',  
       width:500,  
       height:100,  
       items:[  
        {title:'子元素1'},  
        {title:'子元素2'},  
        {title:'子元素3'},  
        {title:'子元素4'},  
        {title:'子元素5'}  
       ]  
      }  
     );  
}); 

 开发者博客www.developsearch.com

 

分享到:
评论

相关推荐

    ext-base.js

    总结,"ext-base.js"是EXT框架的基础,它为EXT的组件、事件、动画等特性提供了支撑。通过理解和熟练运用EXT的基础知识,开发者可以构建出功能强大、交互性强的Web应用程序,极大地提高开发效率和用户体验。同时,...

    ExtJs常用布局--layout详解实例代码

    ExtJs常用布局--layout详解实例代码: ExtJs常见的布局方式有:border、form、absolute、column、accordion、table、fit、card、anchor ...具体使用方法可见该文件的案例代码。 该文件含ext3.2.0压缩版,可直接运行哦!

    EXT-In-FirstStep

    根据给定的文件信息,我们可以提炼出一系列与EXT框架相关的知识点,这些知识点涵盖了EXT的各个方面,从基础到高级应用,适合不同层次的学习者。以下是基于标题、描述、标签及部分内容整理的关键知识点: ### EXT...

    EXT-js-中文手册

    - **使用方法**:通过实例演示如何在项目中引入并使用这些组件,提高开发效率。 #### 8. 使用Ajax - **异步通信**:介绍了如何使用EXT进行异步数据加载,避免页面刷新,提升用户体验。 - **后端支持**:支持多种...

    EXT 布局 Layout 资料

    ### EXT 布局 Layout 资料详解 #### 6.1 布局概述 在 Ext JS 中,布局(Layout)是一个重要的概念,它指的是容器组件内子元素的排列方式。Ext JS 的所有容器组件都支持布局操作,并且每个容器都有一个对应的布局...

    ext-word文档

    #### EXT的布局(Layout) 布局是ExtJS中用于管理UI组件排列的关键特性。ExtJS提供了多种布局策略,如`fit`、`vbox`、`hbox`等,可以根据需要选择合适的布局策略。 #### Grid组件 `Grid`是ExtJS中用于展示表格数据...

    Ext教程ext2-Ext简易教程

    例如,Ext的`Ext.onReady`函数用于确保DOM加载完成后再执行代码,这是初始化Ext组件的常见方法。以下是一个简单的例子,展示如何使用MessageBox组件弹出一个警告对话框: ```html Ext.onReady(function() { Ext....

    ext使用--Panel和iframe联合使用时页面高度的解决方法

    Ext.extend(Ext.layout.container.MyIFrameLayout, Ext.layout.container.Fit, { onLayout: function(ct, target) { var iframe = ct.items.first(); if (iframe && iframe.rendered) { var iframeBody = ...

    YUI-EXT使用详解

    通过提供的压缩包文件"ext 2.rar"、"ext教程.rar"和"yui_2.3.1.zip",你可以获得YUI-EXT的源码、文档和示例,进一步学习和研究其使用方法。这些资源将帮助你深入理解如何集成YUI-EXT到项目中,如何创建和配置组件,...

    EXT2.0-API

    EXT是一个广泛使用的前端开发框架,特别是用于构建数据驱动的Web应用程序。EXT2.0是EXT库的一个里程碑,引入了许多增强功能和改进,使开发者能够创建功能丰富的、交互性强的用户界面。EXT的核心特性包括数据绑定、...

    EXT中文API

    EXT中文API文档提供了这些组件的详细说明,包括它们的构造函数、属性、方法和事件,帮助开发者理解和使用EXT库。 在"ext-3.2.1"这个压缩包中,你将找到EXT 3.2.1版本的相关文件。这个版本可能包含以下内容: 1. `...

    EXT入门详解.docx

    EXT的一大亮点在于其复杂的Layout布局系统,它能够轻松创建各种复杂的界面结构,如网格、表单、面板等。EXT的界面设计美观,与高端的桌面应用如Backbase不相上下。EXT支持XML和JSON数据类型,特别适合与服务器端进行...

    Ext4.0使用指南

    【EXT4.0使用指南】 EXT4.0是Ext JS框架的一个重要版本,它提供了丰富的用户界面组件和强大的数据管理功能,广泛应用于Web应用程序的开发。这篇指南将着重于EXT4.0的基础知识,帮助初学者快速入门EXT JS的开发。 1...

    ext4.0学习总结及使用说明

    本文将详细介绍ext4的主要特性和使用方法。 #### 二、ext4的特点 **1. 与Ext3兼容** - **迁移简单:** 无需重新格式化磁盘或重新安装系统即可从Ext3在线迁移到Ext4。 - **数据结构保留:** 原有的Ext3数据结构...

    Ext JS 4.2 简单环境搭建C#版的

    Ext JS 是一个流行的JavaScript框架,用于构建富客户端的Web应用程序。4.2版本是该框架的一个重要里程碑,提供了许多改进和新特性。本教程将详细解释如何在C#开发环境中,利用Visual Studio 2008搭建Ext JS 4.2的...

    我与EXTJS有个约会

    此外,由于EXTJS的组件数量庞大,有时候在配置和使用过程中可能会遇到一些小bug或者兼容性问题。不过这些问题通常可以通过查阅官方文档、社区论坛或寻求其他开发者的帮助来解决。 #### 结语 学习EXTJS不仅可以帮助...

    Ext开发文档(入门)

    1. **API参考**: API参考文档列出了EXT的所有类、方法、属性和事件。通过查阅API,可以了解如何使用特定的组件和功能。 2. **教程与示例**: 初学者可以从教程中学习EXT的基础知识,例如创建组件、布局管理、数据...

    Ext2.2 中文手册

    - **DataView**:DataView 组件的使用方法,以及与其他组件的配合使用。 - **其他新组件**:列举了 Ext2 中新增的一些组件。 以上知识点总结涵盖了 Ext2.2 中文手册中的主要内容,从基本概念到具体实践,为初学者...

    ExtJs部署及使用方法

    ### ExtJs部署及使用方法详解 #### 一、ExtJs部署与配置 ##### 1.1 ExtJs库的安装 为了正确地安装ExtJs库,首先需要将ExtJs的源码包放置到项目的WebRoot目录下,即项目的根目录。在安装过程中,需要创建以下...

    FCKEditor与ext结合使用

    4. **事件绑定**:根据需要,可以监听FCKEditor的事件(如`OnBlur`、`OnFocus`),并用EXT的方法处理这些事件。 5. **数据交互**:可以通过FCKEditor的`GetHTML()`方法获取编辑器中的内容,与EXT的数据模型进行交互...

Global site tag (gtag.js) - Google Analytics