选项卡面板中的 Vbox 布局问题

2024-04-07

我有一个问题vbox布局所以我创建了一个简单的例子 这说明了问题,这让我vbox布局到fit屏幕的高度。

On the hbox屏幕上,视图看起来符合预期。


然而,当我简单地改变hbox to vbox所有文本都覆盖在左上角。


所有代码都在下面给出,并且已经打开煎茶小提琴 http://www.senchafiddle.com/#cxuMl


app.js

Ext.Loader.setConfig({
    enabled: true
});

Ext.application({
    name: 'SenchaFiddle',

    views: ['MainView', 'HboxView', 'VboxView'],

    launch: function() {
        Ext.Viewport.add(Ext.create('SenchaFiddle.view.MainView'));

    }
});

MainView.js

Ext.define("SenchaFiddle.view.MainView", {
    extend: 'Ext.tab.Panel',
    requires: [
        'Ext.TitleBar'
    ],
    config: {
        tabBarPosition: 'bottom',
        items: [{
            title: 'hbox',
            iconCls: 'action',

            items: [{
                docked: 'top',
                xtype: 'titlebar',
                title: 'Hbox'
            }, {
                xtype: 'hbox-view'
            }]
        }, {
            title: 'vbox',
            iconCls: 'action',
            items: [{
                docked: 'top',
                xtype: 'titlebar',
                title: 'Vbox'
            }, {
                xtype: 'vbox-view'
            }]
        }]
    }
});

HboxView.js

Ext.define("SenchaFiddle.view.HboxView", {
    extend: 'Ext.Container',
    xtype: 'hbox-view',
    config: {
        style: 'background-color: #0f0',
        layout: 'hbox',
        items: [{
            xtype: 'panel',
            html: 'baz',
            style: 'background-color: #ff0',
            flex: 1
        }, {
            xtype: 'panel',
            html: 'foo',
            style: 'background-color: #f00',
            flex: 2
        }, {
            xtype: 'panel',
            html: 'bar',
            style: 'background-color: #fff',
            flex: 3
        }]
    }
});

VboxView.js

Ext.define("SenchaFiddle.view.VboxView", {
    extend: 'Ext.Container',
    xtype: 'vbox-view',
    config: {
        style: 'background-color: #0f0',
        layout: 'vbox',

        items: [{
            xtype: 'panel',
            html: 'baz',
            style: 'background-color: #ff0',
            flex: 1
        }, {
            xtype: 'panel',
            html: 'foo',
            style: 'background-color: #f00',
            flex: 2
        }, {
            xtype: 'panel',
            html: 'bar',
            style: 'background-color: #fff',
            flex: 3
        }]
    }
});

问题出在 MainView.js 结构中。 您的 vbox 包装容器没有布局:

{
  title: 'vbox',
  iconCls: 'action',
  layout: card, // or fit, etc. :)
  items: [
    {
      docked: 'top',
      xtype: 'titlebar',
      title: 'Vbox'
    },
    {
      xtype: 'vbox-view'
    }
  ]
},

但这不是很好的代码。 最好将标题栏和一些配置添加到 VBoxView 和 HboxView 定义中:

 Ext.define("SenchaFiddle.view.VboxView", {
        extend: 'Ext.Container',
        xtype: 'vbox-view',
        config: {
            style: 'background-color: #0f0',
            layout: 'vbox',
            title: 'Vbox', // this is better place for title and iconCls :)
            iconCls: 'action',
            items: [
                // title bar is here :) 
                {
                   type: 'titlebar',
                   docked: 'top',
                   title: 'Navigation',
                },
                {
                    xtype: 'panel',
                    html: 'baz',
                    style: 'background-color: #ff0',
                    flex: 1
                },
                {
                    xtype: 'panel',
                    html: 'foo',
                    style: 'background-color: #f00',
                    flex: 2
                },
                {
                    xtype: 'panel',                
                    html: 'bar',
                    style: 'background-color: #fff',
                    flex: 3
                }
            ]
        }
    });

在 MainView.js 中

Ext.define("SenchaFiddle.view.MainView", {
  extend: 'Ext.tab.Panel',
  // ...    
  config: {
    tabBarPosition: 'bottom',
    items: [
      {xtype: 'hbox-view'}, // very nice code :)
      {xtype: 'vbox-view'},
    ]
  }
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

选项卡面板中的 Vbox 布局问题 的相关文章

  • 使用 store sencha touch 2 将数据加载到列表中

    我已经使用 Sencha touch 2 创建了导航视图 导航视图有列表组件 我想使用商店和模型加载它 我根据需要创建了模型并存储 运行我的应用程序时 列表不会呈现任何数据 它还在 conolse 中发出警告 Ext dataview Li
  • sencha touch2.0中如何在屏幕之间传递数据?

    我正在开发 sencha touch2 0 应用程序 我想将数据从一个屏幕发送到另一个屏幕 我知道这个问题已经被问过here但我发现它没有帮助 所以我在这里再次询问 我的应用程序中有一个复选框列表视图 我想要的是 当我单击一个或多个复选框并
  • Phonegap:带有背景图像的相机视图

    我使用 Phonegap 和 Sencha Touch 来获得相机功能 但我希望将具有透明背景的图片叠加在实时相机视图上 而不是默认的相机视图 类似于下面的示例 其中恐龙图像已叠加在相机视图图像上 你能告诉我这个功能是否可以通过Phoneg
  • Sencha Touch 复选框字段具有带有长标签的时髦布局

    我的应用程序中的几个复选框字段有很长的标签 不幸的是它会导致一些奇怪的行为 有什么办法可以让这个看起来好一点吗 我的意思是 如果我 触摸 灰色区域 复选框不会激活 即使复选框位于灰色区域内 但我必须单击白色区域 这有点令人困惑 即使我设定l
  • 访问 JSON feed 中的嵌套对象 - Sencha Touch

    我将从通常的免责声明开始 Sencha Touch 新手 使用 JSON 在黑暗中挣扎 任何朝着正确方向提供的帮助或推动都会比您想象的更加感激 我正在尝试让我的应用程序从公共 Google 电子表格 JSON 提要中获取数据 据我了解 我当
  • 在 Sencha Touch 2 中从商店加载轮播?

    有没有人有一个代码示例 可以从商店 在我的例子中是 JSON 商店 加载 Sencha Touch 2 Carousel 组件 我了解如何加载扩展 DataView 的列表 但 Carousel 似乎是一个更难解决的问题 因为它不扩展 Da
  • 按特定 id 过滤 Ext.data.Store 会返回多个结果

    我正在尝试按演出 ID 过滤我的试镜列表 但当演出 ID 为 1 时 所有演出 ID 为 1x 的试镜都会被返回 下面是我的代码 试镜型号 Ext regModel Audition fields name id type integer
  • Sencha Touch 和 ExtJS

    Sencha Touch 看起来令人印象深刻 ExtJS 看起来也不错 我正在评估是否应该在即将推出的应用程序中使用 ExtJS 或 SproutCore 现在有了 Sencha Touch 我想知道是否选择 ExtJS 会更容易port
  • 水平滚动列表

    我希望将图像显示在水平列表中 这就是我到目前为止所做的 var list Ext create Ext List store store itemTpl new Ext XTemplate img src icon inline true
  • 是从 Sencha Touch 2 开始比较好,还是从 Sencha Touch 1.x 开始比较好?

    我最近使用 PhoneGap 构建了一个演示应用程序 并选择尝试使用 JQuery Mobile 作为 UI 框架 这是 好吧 我现在想尝试一下 Sencha Touch 看看我是否更喜欢它 截至目前 2011 年 12 月中旬 Sench
  • 移动Web应用程序的服务器端架构

    在我开发过的大多数桌面 Web 应用程序中 您都需要一个服务器端 Web 框架 服务器端 Web 框架 Struts Spring MVC 等 具有某种用于处理请求的控制器 然后是用于生成动态内容的模板引擎 Velocity JSP 等 现
  • sencha touch :: 如何在 iFrame 内创建网站预览面板

    我需要允许 sencha touch 内的一些网站预览 我看到两种不同的可能性 打开 safari 移动应用程序以显示链接 在 html 属性内生成一个带有 iFrame 的面板 因为我不知道如何实现1 我从2开始 但遇到了一些麻烦 a 我
  • 在 Sencha Touch 中禁用轮播过度滚动/过度拖动

    在 Sencha Touch 2 轮播的末尾或开头 用户可以将项目拖过它应该能够到达的位置并显示白色背景 此处的屏幕截图 https i stack imgur com i10Ak png https i stack imgur com i
  • Sencha Touch 动画选项

    在哪里可以找到 Ext Panel show 的可用动画类型列表 我搜索了文档并用谷歌搜索了 sencha touchanimation options 但找不到任何东西 你可以在这里看到所有的动画 http dev sencha com
  • 如何在 Eclipse 中运行 Sencha Touch 应用程序

    我是 sencha touch 和手机间隙的新手 我想在 eclipse 中运行简单的 hello word 应用程序 但我不知道该怎么做 如果有人知道 请尽快告诉我 提前致谢 阿米尔汗一世 UPDATE 好吧 有一个可用于 eclipse
  • Sencha Touch - Google 地图并将标记居中

    是我一个人的问题还是谷歌地图 API 似乎有点奇怪 尝试简单地显示某些坐标的标记 然后将屏幕置于标记的中心 在我的控制器中从视图触发 onGoogleMapRender function googleMap var long record
  • 将 Sencha Touch 与 jQuery 相结合

    我已经在 Sencha Touch 工作了几个星期 虽然这个框架非常强大 但我仍然发现它有一些难以使用的地方 特别是用于复杂嵌套 JSON 结果的 JSONP 数据存储 因此 我决定结合 jQuery 有用的 AJAX 和 JSON 函数
  • 使用 Selenium 测试 Sencha 2 应用程序

    我无法单击 Sencha 2 生成的按钮 因为它不是输入字段 它用 div 和 span 构建了按钮 找到这个链接 它描述了如何通过 Selenium 测试单击按钮http mobilewebqa blogspot com http mob
  • sencha列表分页插件

    我正在尝试使用 sencha touch 的列表分页插件 但几乎没有关于如何使用它的好 或坏 文档 我很困惑 当我激活列表中的插件时 this myList new Ext List store this myStore plugins p
  • 将分段按钮置于容器中居中?

    我有一个带有分段按钮的选项卡导航栏 其中还包含一张卡片 布局 一切正常 然而 我正在努力让我的 分段按钮位于屏幕中央 我不想让它伸展 我已经包含了主要视图并将所有代码放在煎茶小提琴 http www senchafiddle com KFy

随机推荐