Domanda

Dopo aver aggiornato un progetto da Flex4 Beta1 a Beta2, ho scoperto che lo stile dell'immagine di sfondo non è più supportato sui componenti di Halo.

Esempio:

<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml"
         backgroundImage="@Embed(source='myImage.png')" />

Nota che il problema di jira SDK-23050 indica quanto segue:

  

backgroundImage non è supportato per le skin Spark.

Ma questo non utilizza una skin Spark, ma solo un componente Halo standard.

Qualcuno ha qualche idea?

È stato utile?

Soluzione 4

Ho finito per cambiare l'immagine di sfondo con la skin di sfondo e questo ha risolto il problema.

Altri suggerimenti

<s:BorderContainer x="100" y="100" width="200" height="200"

                   backgroundImage="@Embed(source='image.jpg)" >
</s:BorderContainer>

Usa il codice sopra. Qualsiasi scintilla: BorderContainer ha l'opzione backgroundImage, o altre opzioni backgroundImage. Aggiungi l'immagine che vuoi alla tua fonte e metti per image.jpg il nome della tua immagine con la sua estensione. non dimenticare le virgolette singole.

Ora devi creare una classe skin. Utilizzare un gruppo virtuale e specificare uno skin personalizzato.

I componenti MX in Flex 4 consentono di utilizzare le skin Spark e Adobe utilizza le skin Spark per impostazione predefinita, in modo che i componenti MX e Spark nella stessa applicazione sembrino appartenere insieme. Ovviamente, le skin Spark supportano funzionalità diverse rispetto alle skin Halo e ora dovresti modificare le skin se vuoi che appaiano diverse (tranne per alcuni semplici stili di colore). Considerando come possono essere i designer creativi, questo è un approccio molto migliore rispetto all'utilizzo del solo CSS perché è molto più flessibile, ma sorprende di sorpresa le persone che hanno familiarità con il flusso di lavoro di Flex 3.

Non è troppo difficile copiare lo skin predefinito e aggiungere uno sfondo ad esso. Tuttavia, dovresti anche essere in grado di utilizzare la vecchia skin di Halo per ottenere il supporto di BackgroundImage, se è quello che preferisci. Credo che tu voglia dire al tuo VBox di usare mx.skins.halo.HaloBorder.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top