Sencha Touch 1中的全屏面板覆盖

时间:2012-02-15 01:03:45

标签: sencha-touch

我正在尝试从底部滑动Panel,以便它覆盖整个视口,就像iOS Safari中的“书签”面板一样。这类似于ActionSheet,但是是全屏,并且没有围绕它的暗框。

this.advSearch = Ext.ComponentMgr.create({xtype: 'advanced_search', itemId: 'pnlAdvancedSearch'});
this.advSearch.autoRender = true;
this.advSearch.show({type: 'slide', direction: 'up'});

这种方法有效,但新面板不会填满整个屏幕,而且它的一部分会显示在背景面板后面。我尝试了各种布局,包括fitvbox,具有不同程度的丑陋,但根本问题似乎是面板不知道它需要多高。也许是因为它没有容器?

有什么建议吗?这是否是正确的方法,还是我应该尝试破解ActionSheet以扩展到全屏,并显示没有边框?

感谢。

1 个答案:

答案 0 :(得分:0)

因为你的面板是浮动的(或者我认为它是),你需要在Sencha Touch 1中给面板一个固定的高度。在这方面你是非常受限制的。以下代码应该有效:

var sheet = new Ext.Sheet({
    html: 'hello',
    style: 'color:#fff',
    height: window.innerHeight,
    stretchX: true
});

// replace this show with your animation
sheet.show();

正如你所看到的,我给它一个固定的窗口高度,然后在X轴上伸展(y不起作用)。