gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 01:18:14 25 4
gpt4 key购买 nike

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

关于 hbox屏幕, View 看起来像预期的那样。

enter image description here

然而,当我简单地改变hboxvbox左上角的所有文本覆盖。

enter image description here

下面给出了所有代码,它位于 Sencha Fiddle

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'},
]
}
});

关于sencha-touch - 选项卡面板中的 Vbox 布局问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10757088/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com