Sencha Touch布局问题

时间:2013-06-19 07:19:50

标签: layout sencha-touch sencha-touch-2

我必须做以下布局:

app layout

红色容器有布局卡并包含:

  • 标题栏
  • 一个容器:这个容器显示一个地图,并且应该采用标题栏下面的所有屏幕尺寸
  • 面板:这是显示自定义控制按钮,它应该在地图上而不是隐藏它(背景是透明的)

我尝试了以下代码,但它没有用,我无法弄清楚如何将组件放在另一个上。如果我使用hbox布局,自定义控件按钮将位于地图下方,而不是地图上......

Ext.define('Sencha.view.MapPanel', {
extend: 'Ext.Container',
requires: ['Ext.ux.LeafletMap'],
xtype: 'mappanel',
    config: {
        itemId: 'mapanel',
    layout: 'card',
        items: [{
        xtype: 'titlebar',
    title: 'title',
    docked: 'top'
    }, {
    xtype: 'panel',
    config:{
        layout: 'fit',
        height: '100px',
        width: '100px',
                itemId: 'controlButtons'
    }
    }, {
    xtype: 'leafletmap',
        mapOptions: {
            zoom: 13,
            zoomControl: false
        },
        config: {
            layout: 'fit'
        }
    }]
    }
});

这里的controlsButton显示但不是地图。如果我将controlsButton放在leafletMap之后,地图会显示但不显示按钮... 欢迎任何帮助!

1 个答案:

答案 0 :(得分:2)

enter image description here

Ext.define('MyApp.view.MyContainer', {
        extend: 'Ext.Container',

        config: {
            html: 'Main Container',
            style: 'border: 2px solid black;',
            layout: {
                type: 'card'
            },
            items: [
                {
                    xtype: 'container',
                    style: 'border:2px solid red',
                    layout: {
                        type: 'card'
                    },
                    items: [
                        {
                            xtype: 'titlebar',
                            docked: 'top',
                            title: 'Title Bar'
                        },
                        {
                            xtype: 'container',
                            html: 'Container',
                            style: 'border:2px solid blue;',
                            layout: {
                                type: 'hbox'
                            },
                            items: [
                                {
                                    xtype: 'panel',
                                    docked: 'bottom',
                                    height: '20%',
                                    html: 'Panel that holds buttons',
                                    style: 'border: 2px solid green;',
                                    top: '',
                                    width: '50%'
                                }
                            ]
                        }
                    ]
                }
            ]
        }

    });

这与您想要的一样(每个屏幕截图)。请忽略边框样式。那只是为了向您展示差异。希望你从中得到一个想法。 :)祝你好运!!