Я работаю над приложением (с ComboBoxes), которое требует масштабирования всего приложения на основе разрешения экрана. Я думал, что это просто требует изменения «Scalex» и «ScaleY» свойства приложения верхнего уровня, но обнаружил, что ComboBox Выпадающий не отображается в масштабе, соответственно, как показано в следующем примере:Сброс выпадающего списка ComboBox не соответствует DisplayList
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
applicationComplete="init()">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
private var options:ArrayCollection = new ArrayCollection([1,2,3,4]);
public function init():void {
this.scaleX = 5;
this.scaleY = 5;
}
]]>
</mx:Script>
<mx:ComboBox id="box" dataProvider="{this.options}"/>
</mx:Application>
лучшее, что я был в состоянии сделать с его добавлением «MouseEvent.MOUSE_DOWN» слушателя на ComboBox и обращение с ним, как так:
var comboBox:ComboBox = event.currentTarget as ComboBox;
comboBox.dropdown.scaleX = 5; comboBox.dropdown.scaleY = 5;
который приводит в раскрывающемся меню появляется (сползания) не масштабируется до тех пор, пока не достигнет увеличенной длины gth и останавливается, и в этот момент он масштабируется и остается в этом масштабе до тех пор, пока он не будет закрыт. Я также обнаружил, что если вы вызываете «invalidateDisplayList()» в comboBox или выпадающем списке, то это отменяет масштабирование, поэтому кажется, что всякий раз, когда вызывается updateDisplayList, выпадающее приложение применяет только его родительское масштабирование ComboBox, а не родительский компонент ComboBox масштабирование контейнера.
Я понимаю, что в качестве всплывающего окна выпадающее меню отсутствует в дереве displayList приложения или ComboBox, который, как представляется, является корнем проблемы (каламбур не предназначен).
У кого-нибудь есть идеи, как решить эту проблему?
Заранее благодарен!