Sencha touch 更改布局方向更改
是否有当前支持的方法根据设备方向更改布局? 以下代码返回此错误:Sencha touch 更改布局方向更改,sencha-touch,sencha-touch-2.1,Sencha Touch,Sencha Touch 2.1,是否有当前支持的方法根据设备方向更改布局? 以下代码返回此错误: onOrientationChange: function () { this.remove(); this.setLayout( Ext.Viewport.getOrientation() == 'landscape' ? { type: 'hbox', pack: 'center', align: 'stretch' } : { type: 'vbox', align: 'str
onOrientationChange: function () {
this.remove();
this.setLayout( Ext.Viewport.getOrientation() == 'landscape' ?
{ type: 'hbox', pack: 'center', align: 'stretch' } : { type: 'vbox', align: 'stretch', pack: 'center' } );
},
“当前不支持在布局初始化后替换布局。”
请任何人给我建议。查看GitHub上Sencha Meetcha应用程序的代码 由于不支持替换布局,您可能需要做的是使用一些CSS技巧,当方向发生变化时,删除旧的cls并应用新的cls 我自己也没试过,但这个演示应用程序似乎做得很好 包括代码片段
orientationCls: ['home-portrait', 'home-landscape'],
doOrientation: function() {
var me = this,
orientation = Ext.Viewport.getOrientation(),
letter = orientation.charAt(0),
items = this.getItems().getRange(),
i = 0,
ln = items.length,
item, el, top, left;
me.element.removeCls(me.orientationCls);
me.element.addCls('home-' + orientation);
for (; i < ln; i++) {
item = items[i];
top = item.initialConfig[letter + 'top'];
left = item.initialConfig[letter + 'left'];
el = item.element;
if (el) {
el.setBox({
top: top,
left: left
});
}
}
}
orientationCls:[“家庭肖像”、“家庭景观”],
门方向:函数(){
var me=这个,
方向=Ext.Viewport.getOrientation(),
字母=方向。字符(0),
items=this.getItems().getRange(),
i=0,
ln=项目长度,
项目,el,顶部,左侧;
me.element.removeCls(me.orientationals);
me.element.addCls('home-'+方向);
对于(;i
希望这有帮助