skinning accordion

eyepro

Mitglied
Hallo,

Ich haben einer externen CSS-Datei erstellt für Skining Accordion menu.Nun irgend wo habe Ich eine fehler.


//CSS Begin:

Accordion {
header-height: 33;
corner-radius: 5;
shadow-distance: 28;
shadow-direction: left;
open-duration: 623;
fill-colors: #cccccc, #ffffff;
selected-fill-colors: #ffffff, #cccccc;
theme-color: #333333;
color: #666666;
}

//Ende CSS

//Flash code:

var styles:TextField.StyleSheet = new TextField.StyleSheet();
styles.onLoad = function(success:Boolean):Void {
if (success) {
trace(this.getStyleNames());
} else {
trace("Error loading CSS file.");
}
};
styles.load("styles.css");

//Ende


Bitte um Hilfe.
Gruß
 
Zuletzt bearbeitet:
Nun irgend wo habe Ich eine fehler.
Kannst Du uns mitteilen, wie sich dieser Fehler äussert?

Poste bitte mal die komplette Datei oder den kompletten Sourcecode (inklusive Zuweisung zur Accordeon-Komponente).

Ich kann in der Dokumentation weder bei der Accordeon-Klasse noch bei UIComponent oder UIObject eine Methode zum Zufügen eines externen Stylesheets finden. Möglicherweise musst Du die Stile "manuell" per setStyle hinzufügen.

Gruß
.
 
Hi,

ich kann in der Referenz nicht erkennen, dass man der Accordeon-Komponente komplette Stylesheets hinzufügen kann (abgesehen davon weist Du Dein Stylesheet-Objekt an keiner Stelle Deinem Accordeon - dass zudem keinen Instanznamen trägt - zu).

Generell könntest Du alternativ eine xml-Datei mit etwa folgendem Inhalt erstellen:
Code:
<style name="headerHeight" value="33" />
<style name="cornerRadius" value="5" />
<style name="shadowDistance" value="28" />
<style name="shadowDirection" value="left" />
<style name="openDuration" value="623" />
<style name="fillColors" value="#cccccc,#ffffff" />
<style name="selectedFillColors" value="#ffffff,#cccccc" />
<style name="themeColor" value="#333333" />
<style name="color" value="#666666" />
Diese Datei lässt sich nun in Flash einladen und parsen, so dass Du die einzelnen Stile "per Hand" mit der setStyle-Methode Deinem Akkordeon hinzufügen kannst:
Code:
var xm = new XML();
xm.ignoreWhite = true;

xm.onLoad = function() {
	parse(this.childNodes);
}

function parse(obj) {
	for (var i=0; i<obj.length; i++) {
		var node = obj[i];
		var sname = node.attributes.name;
		var svalue = node.attributes.value;
		trace(sname + ", " + svalue);
		acc1.setStyle(sname, svalue);
	}
}

xm.load("styles.xml");

Aus der Flash-Referenz kann ich allerdings (abgesehen von den dokumentierten Komponenten-Stilen) nur Unterstützung für folgende Stile der Akkordeon-Klasse entnehmen:
der Flashreferenz hat gesagt.:
  • themeColor
  • backgroundColor
  • borderStyle
  • headerHeight
  • color
  • disabledColor
  • embedFonts
  • fontFamily
  • fontSize
  • fontStyle
  • fontWeight
  • textDecoration
  • openDuration
  • openEasing
Bitte teile mir mit, wo in der Dokumentation Du Unterstützung für Stile wie "fillColors" und "selectedFillColors" gefunden hast.

Gruß
.
 
Hi,

Hm es klapt nicht so richtig.

Ausgabe:

#336699, undefined
5, undefined
28, undefined
left, undefined
623, undefined
#cccccc,#ffffff, undefined
#ffffff,#cccccc, undefined
#333333, undefined
#666666, undefined

Das Dokumentation ist von FlexStyleExplorer.Hmm komisch was Ich Alles treibe.

Danke Tobias.
Gruß
 
Hi,

dass es um Flex geht, hast Du leider nicht erwähnt. Ich selbst arbeite nicht mit Flex - also sollte die Frage vielleicht lieber jemand beantworten, der sich besser mit der Materie auskennt. ;)

Gruß
.
 
Hi,

Na endlich was gefunden,mindestens für manuele Skinning.

C:\Programme\Macromedia\Flash 8\de\Configuration\ComponentFLA >>> HaloTheme

;)


Gruß
eyepro

 
Zurück