2009-04-25 15 views
0

Ich habe ein Canvas A mit scrollpolicy auf, A hat eine einzigartige Child Canvas B, die kein Bildlauf hat.Flex Kind Canvas Insise ein Canvas und Größenanpassung Frage

A ist der Container von B, der ein Whiteboard ähnliches Werkzeug ist.

Wenn ich Breite und Höhe von B nicht festlege, wird er die Größe entsprechend der Größe A ändern, bis zu einem bestimmten Punkt, wo A Bildlaufleisten hat, was das gute Verhalten ist.

Da B Canvas jedoch im laufenden Betrieb geändert wird, wenn ich ein Element dynamisch hinzufüge oder verschiebe, wird es ein wenig langsamer.

Ich kann es lösen, indem ein Prozent der Breite und Höhe von 100% einstellen B, wenn a i do

var bmd:BitmapData = new BitmapData(
       B.width, B.height, false, 0xffffff 
      ); 
bmd.draw(B); 

B tatsächlich eine Ansicht (mit Bildlaufleisten) sein würde.

Wenn ich Prozent Höhe und Breite entfernen, wird es die gesamte Leinwand wie erwartet.

Was wäre perfekt, die prozentuale Höhe und Breite zu halten, während Kind Breite kleiner als Eltern A Breite ist. Wenn die B-Breite größer als A wird, sollte die prozentuale Breite aufhören.

In welcher Funktion von B sollte ich solchen Code behandeln? ist es update Liste()?

Vielen Dank!

Antwort

0

Ich hatte das gleiche Problem;

i löste es ein Ereignis (creationComplete- nach der Erstellung oder ein anderes Ereignis (Ändern der Größe ...)) hören, und meine Komponente Breite Einstellung nach dem measuredWidth

myContainer.width = myContainer.measuredWidth

Diese hat für mich gearbeitet, hoffe es kann dir helfen :)

0

Es könnte einfacher sein, wenn Sie nur Pixelwerte verwendet und die Breite der Bildlaufleiste subtrahiert haben.