`
caibinghong
  • 浏览: 150872 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

小谈Ext架构-最简单的layout:AnchorLayout

 
阅读更多

 

最简单的layout:AnchorLayout

 

AnchorLayout是最简单的布局管理其,它只是将元素按照配置的属性在元素容器中进行定位。
   
让我们看一下它的render方法以理解如果进行布局:

    onLayout : function(ct, target){
    Ext.layout.AnchorLayout.superclass.onLayout.call(this, ct, target);
    //
获取元素的尺寸
    var size = this.getAnchorViewSize(ct, target);
    var w = size.width, h = size.height;
    if(w < 20 || h < 20){
        return;
    }
    //
获取容器的尺寸
    var aw, ah;
    if(ct.anchorSize){
        if(typeof ct.anchorSize == 'number'){
          aw = ct.anchorSize;
        }else{
          aw = ct.anchorSize.width;
          ah = ct.anchorSize.height;
        }
    }else{
    //
根据配置获取容器尺寸
        aw = ct.initialConfig.width;
        ah = ct.initialConfig.height;
    }
    //
遍历元素,并调用元素的setSize方法,继承自boxComponentsetSize方法则触发resize事件从而触发layout方法。
    var cs = ct.items.items, len = cs.length, i, c, a, cw, ch;
    for(i = 0; i < len; i++){
        c = cs;
        if(c.anchor){
          a = c.anchorSpec;
          if(!a){ // cache all anchor values
            var vs = c.anchor.split(' ');
            c.anchorSpec = a = {
                right: this.parseAnchor(vs[0], c.initialConfig.width, aw),
                bottom: this.parseAnchor(vs[1], c.initialConfig.height, ah)
            };
          }
          cw = a.right ? this.adjustWidthAnchor(a.right(w), c) : undefined;
          ch = a.bottom ? this.adjustHeightAnchor(a.bottom(h), c) : undefined;
          if(cw || ch){
            c.setSize(cw || undefined, ch || undefined);
          }
        }
    }
  },

分享到:
评论

相关推荐

    php-ext-xlswriter-ide-helper:PHP 扩展 Xlswriter IDE 助手

    安装扩大pecl install xlswriterIDE 助手composer require viest/php-ext-xlswriter-ide-helper:dev-master文档

    ext4-exactor.zip

    EXT4,全称为第四代扩展文件系统(Fourth Extended File System),是Linux内核中最常见的日志文件系统之一。它继承了EXT3的特性,并引入了一些重要的改进,如更大的文件系统大小、更快的挂载和卸载速度、更高效的元...

    jcifs-ext-0.9.4.jar

    解压即可得到jcifs-ext-0.9.4.jar, java环境资源,jdk1.6及以上

    xml-apis-ext-1.3.04.jar

    xml-apis-ext-1.3.04.jar

    ext3.0-2009-9-14 17:00:20

    8. **性能优化**:尽管ext3提供日志功能,但它的性能损失相对较小,因为大多数操作仍为直接写入,只有在必须时才使用日志。 9. **最大文件大小和文件系统大小**:ext3支持的单个文件最大大小和整个文件系统大小会受...

    ext-2.0 ext-2.0 ext-2.0 ext-2.0 ext-2.0

    ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0

    Ext入门-详细教程

    Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-...

    m3u8转mp4工具包

    m3u8转mp4工具包 下载后执行命令: ...2、main方法接收三个参数...#EXT-X-VERSION:3 #EXT-X-MEDIA-SEQUENCE:0 #EXT-X-ALLOW-CACHE:YES #EXT-X-TARGETDURATION:11 #EXTINF:10.043378, 0000.ts ...... 4、懂得都懂,亲测有效

    openwrt-23.05.2-x86-64-generic-ext4-combined-efi.img.gz

    openwrt软路由

    commonmark-ext-yaml-front-matter-0.12.1.jar

    java运行依赖jar包

    webext-storage-cache:WebExtensions模块

    webext-storage-cache WebExtensions模块:具有到期时间的类似地图的承诺缓存存储。 Chrome和Firefox。 该模块适用于内容脚本,背景页面和选项页面。 安装 您可以下载并将其包含在manifest.json 。 或使用npm : ...

    flarum-ext-chinese-search:flarum-ext-chinese-search

    flarum-ext-chinese-search Flarum 论坛中文搜索插件 - 基于 xunsearch 搜索引擎开发 如何安装 安装 xunsearch 服务端 参照 注意安装 xunsearch 需要以下依赖库 gawk make gcc g++ zlib1g-dev 安装插件 composer ...

    Ext-JS-4.1-Beta-3.zip

    3. **ext-all-dev.js, ext-all-debug-w-comments.js, ext-all-debug.js, ext-all.js, ext-debug.js, ext.js**:这些都是Ext JS的核心库文件,不同文件的用途各有侧重: - `ext-all-dev.js`:包含了所有组件和功能,...

    flarum-ext-embed-video:Flarum扩展,允许用户使用BBCode嵌入视频

    composer require nearata/flarum-ext-embed-video 更新 composer update nearata/flarum-ext-embed-video php flarum cache:clear 去掉 composer remove nearata/flarum-ext-embed-video php flarum cache:clear ...

    Bandwidth Splitter

    bandwidth splitter 破解版

    spketdwcs-ext-2.1.mxp

    spketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-...

    openwrt-orangepi-zero-ext4-sdcard.img.gz

    OpenWrt-Lede_18.06.02 OrangePi Zero wifi-xr819 and soc-audio enabled! OrangePi Zero 安装OpenWrt 能够实现wifi和播放音乐。 详细安装和操作步骤: First Run boot-config: ...Click Create a backup of uboot (dtb...

    vitesse-webext::high_voltage: WebExtension Vite 入门模板

    WebExtension Vite Starter 驱动的 WebExtension( 、 等)入门模板。 特征 :high_voltage: 即时 HMR - 在开发者上使用Vite (不再刷新!) :kiwi_fruit: Vue 3 - Composition API... webext-bridge - 上下文之间的

    EXT安装包4.2.1-1

    - `ext-theme-neptune`:EXT的主题文件,可能包括CSS样式和图像资源。 - `examples`:包含各种示例代码,用于展示EXT组件的用法和功能。 - `docs`:EXT的官方文档,包括API参考和教程。 - `build`:编译和打包工具,...

    修复Linux异常自动重启问题

    这几天训网络最困扰我的问题就是服务器总是莫名其妙自动重启,一旦重启,训练的各种网络就都中断了,之后又得一个一个断点续训练,很费劲 两天之内重启了3次之后我实在忍不了了,决定查一下问题的根源 cd /var/log ...

Global site tag (gtag.js) - Google Analytics