Макет сенсорной панели Sencha не занимает все доступное пространство экрана - PullRequest
0 голосов
/ 02 сентября 2011

У меня есть полноэкранная панель;

  PortalDashboard.views.Dashboardcard = Ext.extend(Ext.Panel, {
  fullscreen: true,
  title: 'Dashboard',
  html: '',
  cls: 'card5',
  iconCls: 'team',
  layout: Ext.Viewport.orientation == 'landscape' ? {
    type: 'hbox',
    pack: 'center',
    align: 'stretch'
  } : {
    type: 'vbox',
    align: 'stretch',
    pack: 'center'
  },
  monitorOrientation: true,
  listeners: {
        orientationchange : this.onOrientationChange,
    },
  styleHtmlContent: false,
  initComponent: function () {
    Ext.apply(this, {
      items: [
      {
        xtype: 'dashboardbox',
        items: [rep1, rep2, rep3]
      }, {
        xtype: 'dashboardbox',
        items: [rep4, rep5, rep6]
      }]
    });
    PortalDashboard.views.Dashboardcard.superclass.initComponent.apply(this, arguments);
  }
})

Таким образом, панель имеет макет hbox с 2 дочерними панелями. Дочерние панели фактически занимают все пространство по горизонтали, но не по вертикали.

Я могу установить минимальную высоту в css, которая учитывается в chrome и safari на моем компьютере ... но ipad игнорирует ее.

Дочерние панели определены как;

PortalDashboard.views.DashboxBox = Ext.extend(Ext.Panel, {
  cls: 'dashbox',
  monitorOrientation: true,
  listeners: {
        orientationchange : this.onOrientationChange,
    },
  layout: Ext.Viewport.orientation == 'landscape' ? {
    type: 'vbox',
    align: 'stretch',
    pack: 'center'
  } : {
    type: 'hbox',
    align: 'stretch',
    pack: 'center'
  },
  defaults: {
    flex: 1
  }
});

Ext.reg('dashboardbox', PortalDashboard.views.DashboxBox);

See what i mean,

1 Ответ

0 голосов
/ 03 сентября 2011

У меня было это раньше с родительским элементом TabPanel некоторых подпанелей. Попробуйте layout: 'fit' в родительской панели. (Хотя я не уверен, сработает ли добавление его в текущий список параметров макета или его нужно установить самостоятельно.)

...