Sencha触摸卡布局问题

Posted

技术标签:

【中文标题】Sencha触摸卡布局问题【英文标题】:Sencha touch card layout problem 【发布时间】:2011-04-20 08:19:42 【问题描述】:

我正在尝试使用 sencha touch 为 iphone 建立一个网站。我是煎茶和分机的新手。

我想要一个带有页眉、页脚和内部内容的布局。它可以理解为带有页眉和页脚的母版页,将在每个页面上使用。

页眉和页脚应该是可滚动的(不是停靠!),我希望页面之间有动画。

一般来说,网站会有一个带有页眉、菜单和页脚的主页。如果用户单击菜单中的某个按钮(即“关于”),则页面应向右滑动到“关于”页面。这个页面将有一个页眉、一些内容、后退按钮和页脚。页眉和页脚将与主页上的外观相同。

我已经看到了许多带有停靠页眉和页脚的解决方案,但我没有找到任何可以按我想要的方式工作的解决方案(问题是我希望页眉和页脚可滚动)。

我尝试使用嵌套在 vbox 面板中的卡片布局面板,我也尝试过嵌套在嵌套在 vbox 面板中的 fit 布局面板中的卡片布局面板(请在下面找到示例代码)。

//home, video and contact panels are quite similar to about panel
about = new Ext.Panel(
                layout: 
                    type: 'vbox',
                    pack: 'start'
                ,
                items: [
                    
                        html: ['<div class="pageWrapper"><h1><span>About</span></h1></div>']
                    
                ] // end items
            );

    cardPanel = new Ext.Panel(
            layout: 'card',
                items: [home, about, video, contact]
            );

    cardWrapper = new Ext.Panel(
                layout: 'fit',
                items: [cardPanel]
            );

    var mainPanel = new Ext.Panel(
                layout: 'vbox',
                scroll: 'vertical',
                fullscreen: true,
                items: [header, cardWrapper, btnBack, footer]
            );

当我使用上面的代码时,cardWrapper 的 height=0 和 width=0。当我将 cardWrapper 的高度和宽度设置为某个值时,我只能看到主页。我也尝试过设置: 自动高度:真 对于主面板,cardPanel 和 cardWrapper 并没有运气:/

您还有其他想法如何实现网站的这种布局?

【问题讨论】:

你的标题不是很具描述性;它应该以问题的形式提出。编辑它可能会产生更多的观点和可能的答案。 【参考方案1】:

首先,停靠时可以有一个内部可滚动的页眉和页脚。我之前做过一个工具栏,它停靠在主视图上,但仍然可以水平滚动。您所要做的就是设置工具栏的滚动属性。

其次,将 cardPanel 的 'flex' 属性设置为 1,并为页眉和页脚提供固定高度(或弹性)可能会解决您看到的问题。

所以:

var cardPanel = new Ext.Panel(
   flex: 1,
   layout: 'card',
   items: [home, about, video, contact]
);

var header = new Ext.Panel(
   height: 100,
   html: "<h1>Header</h1>"
);

var footer = new Ext.Panel(
   height: 100,
   html: "<h1>Footer</h1>"
);

var mainPanel = new Ext.Panel(
            layout: 'vbox',
            scroll: 'vertical',
            fullscreen: true,
            items: [header, cardPanel, btnBack, footer]
);

最后,您可以尝试将 cardPanel 变成 Carousel。您可以使用属性“indicator”关闭对象上的指示器。要在卡片之间切换,您将使用相同的 setActiveItem 调用。

【讨论】:

以上是关于Sencha触摸卡布局问题的主要内容,如果未能解决你的问题,请参考以下文章

选项卡布局不显示片段

为啥我的 android 选项卡布局不起作用?

禁用选项卡布局

如何在列表视图之上设置选项卡布局但在 Android 中不覆盖?

带有滑动视图的选项卡布局

滑动选项卡布局错误