2010-11-19 2 views
0

Ich habe eine Canvas-Komponente, die ich als Kind einer übergeordneten Canvas-Komponente erstelle und hinzufüge. Ich habe die opaqueBackground-Eigenschaft für die untergeordnete Komponente festgelegt, die sie gegenüber der übergeordneten Komponente undurchsichtig macht. Wenn ich jedoch zwei untergeordnete Komponenten hinzufüge, sind sie nicht opak übereinander. Wie richte ich es so ein, dass eine untergeordnete Komponente die andere untergeordnete Komponente vollständig verdeckt?Wie kann eine Canvas-Komponente in Flex 3 vollständig undurchsichtig gemacht werden?

Antwort

1

Erster Gedanke:

1) Verwenden Sie cacheAsBitmap? opaqueBackground wurde für die Verwendung mit cacheAsBitmap entwickelt, um das Rendering zu verbessern. Wenn Sie nur etwas transparent machen möchten, würde alpha besser für Sie arbeiten?

Zweiter Gedanke:

2) Styles sind erblich, aber Eigenschaften sind in der Regel nicht. Wenn Sie den Eigenschaftswert an einen der untergeordneten Elemente einer Komponente übergeben möchten, setzen Sie die Eigenschaft set-Methode außer Kraft, um ein Flag und invalidateProperties() zu setzen. Verwenden Sie dann commitProperties(), um Ihre untergeordneten Elemente festzulegen.

Dritter Gedanke:

3) Es klingt wie Sie nur ein Kind aktiv auf einmal möchten. Vielleicht möchten Sie die visible Eigenschaft oder ViewStack oder verwenden?

+0

Ich endete nur mit der sichtbaren Eigenschaft für die Kinder arbeiten. Allerdings bin ich immer noch neugierig, wie ich ein Kind opak über ein anderes Kind (überdeckend) bringen würde, das es überlappt. Es muss eine Eigenschaft geben, die ich vermisse, die das tun kann. – Steven

Verwandte Themen