Не видя код это трудно, чтобы быть уверенными, но это может быть список дел с тем, что изображение не загружено, когда он делает первоначальный макет. Если вы знаете размеры изображения, это можно быстро зафиксировать, установив высоту.
Это может быть также todo с макетом, который вы используете - я бы порекомендовал vbox для этого.
В моем примере я включать в себя случайное число в URL, чтобы убедиться, что он не кэшируются:
Ext.define('MyApp.view.Main',{
extend: 'Ext.panel.Panel',
alias: 'widget.main',
layout:{
type:'vbox'
},
items:[
{
xtype:'image',
height:92,
width:'auto',
src:'https://www.google.co.uk/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png?'+Math.random()
},
{
xtype:'combo',
store:['A','B','C']
},
{
xtype:'tabpanel',
flex:1,
width:'100%',
items:[
{
title:'Test',
html:'foo'
}
]
}
]
})
Для того, чтобы ширина изображения соответствуют родительской панели можно использовать MinWidth и MinHeight вместо:
Ext.define('MyApp.view.Main',{
extend: 'Ext.panel.Panel',
alias: 'widget.main',
layout:{
type:'vbox'
},
items:[
{
xtype:'image',
minHeight:92,
minWidth:272,
width:'100%',
src:'https://www.google.co.uk/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png?'+Math.random()
},
{
xtype:'combo',
store:['A','B','C']
},
{
xtype:'tabpanel',
flex:1,
width:'100%',
items:[
{
title:'Test',
html:'foo'
}
]
}
]
});
или вы могли бы использовать для изменения размера слушателя:
Ext.define('MyApp.view.Main',{
extend: 'Ext.panel.Panel',
alias: 'widget.main',
layout:{
type:'vbox'
},
items:[
{
xtype:'image',
width:'100%',
src:'https://www.google.co.uk/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png?'+Math.random(),
listeners:{
resize:function(){
//ratio = originalWidth/originalHeight;
var ratio = 272/92;
this.setHeight(this.getWidth()/ratio)
}
}
},
{
xtype:'combo',
store:['A','B','C']
},
{
xtype:'tabpanel',
flex:1,
width:'100%',
items:[
{
title:'Test',
html:'foo'
}
]
}
]
});
Спасибо за помощь, это было на самом деле высота изображения после установки фиксированного размера решила проблему, но теперь, увеличив ширину vbox, изображение не перераспределяется, каким-либо образом его исправить? –
Я обновил свой ответ несколькими другими примерами. – Theo
minHeight и minWidth решили мою проблему. Tks –