• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

textField Zeilenabstand komisch

mojo78

Member
Hi Leute,
benutze Swishmax 2 und bin gerade bei actionscript am verzweifeln. Ich erstelle ein Textfield:

Code:
onSelfEvent (load) {
    var i = 0;
    
    this.createTextField("txtfield", 10, 10, 100, 980, 100);
    txtfield.autoSize = "left";
    txtfield.border = false;
        
    txtfield.multiline = true;
    txtfield.wordWrap = 0;
    txtfield.html=true;
}

Da lade ich den Inhalt einer Datei mit html-formatierem Text rein:

Code:
        var textObj:LoadVars = new LoadVars();
        textObj.onData = function (src:String):Void {
            if (src != undefined) {
                txtfield.htmlText = src;
            } else {
                txtfield.htmlText = "Unable to load external file.";
            }
        }
        textObj.load("1.htm");

Diese Datei sieht übrigens so aus:

Code:
<font color="#000000" face="Arial, Helvetica, sans-serif" size="-3">1Beschreibung Pic11

Dies ist ein Testtext!Dies ist ein Testtext!Dies ist ein Testtext!Dies   
  - Aufzählung 1
   - Aufzählung 2 
  - Aufzählung 3 
  - Aufzählung 4
 -<br /> 
 Aufzählung 5
 Aufzählung 6"</font>

Ein paar Sachen kapier ich allerdings nicht:

- in meinem Textfeld habe ich Riesen-Zeilenabstand, den krieg ich nicht weg. Habe es mit <textformat leading="0"> versucht, bringt nix. (habe ich irgendwo gelesen, dass das funktionieren soll

- ich schaff es überhaupt nicht css-Stylesheets zu verwenden. Wie bindet man die ein?

- Zeilenumbrüche in der Datei werden auch im Textfeld angezeigt? Warum? ich dachte der Inhalt wir wie html-Code wieder gegeben? Also nur Zeilenumbrüche bei einem br-Tag.

Eigentlich soll der html-Text nur wie in einem normalen Browser wiedergegeben werden.

Ich hoffe Ihr könnt mir helfen.
Bye Mojo
 
Das ist doch kein formatiertes HTML, das ist Krampf!

Wie sollte es denn aussehen? Dass das ein Testfile ist, nur um zu schauen, ob die Formatierung funktioniert ist schon klar, ne? Dass ich das so nicht veröffentliche ist denke ich klar. Oder braucht man im textfield richtigen (vollständigen) html-code?
 
Immer mal ein bißchen googeln: http://help.adobe.com/de_DE/ActionS...S5b3ccc516d4fbf351e63e3d118a9b90204-7d8f.html

Und Dein "formatiertes" HTML sollte in etwa so aussehen:
PHP:
<div style="margin:0;padding:0;">
<p style="font:12px arial;line-height:14px;">1Beschreibung Pic11<br />
Dies ist ein Testtext! Dies ist ein Testtext! Dies ist ein Testtext!</p>
<ul>
	<li>Aufzählung 1</li>
	<li>Aufzählung 2</li>
	<li>Aufzählung 3</li>
	<li>Aufzählung 4</li>
	<li>Aufzählung 5</li>
	<li>Aufzählung 6</li>
</ul>	
</div>
 
Zuletzt bearbeitet:
Danke für Deine Tipps. Leider wird Dein HTML komplett ignoriert, "style=" bleibt ohne Effekt. Auch der Grund, warum ich mein "Krampf"- File erstellt hatte.

Gegoogelt hatte ich wie immer selber schon. Auf Deinen Link bin ich auch gestoßen. Leider funktioniert auch das nicht, da mir die Klasse Stylesheet fehlt:

Habe das so eingebunden:

Code:
    this.createTextField("txtfield", 10, 10, 100, 980, 100);
    txtfield.autoSize = "left";
    txtfield.border = false;
        
    txtfield.multiline = true;
    txtfield.wordWrap = 0;
    txtfield.html=true;


// Versuch Stylesheet ->
[COLOR="red"]    var style:StyleSheet = new StyleSheet(); 
 
    var styleObj:Object = new Object(); 
    styleObj.fontSize = "bold"; 
    styleObj.color = "#FF0000"; 
    style.setStyle(".darkRed", styleObj); 
     
    var txtfield:TextField = new TextField(); 
    txtfield.styleSheet = style; 
    txtfield.htmlText = "<span class = 'darkRed'>Red</span> apple"; [/COLOR]
     
    //addChild(txtfield);

ERROR: Cannot find 'StyleSheet'
Scene_1, line 51: var style:StyleSheet = new StyleSheet()

Ich versteh nicht wie man die einbindet. Das funktioniert auch nicht:
Code:
import flash.text.StyleSheet;

Hat vielleicht jemand ein einfaches Beispiel, das auf jedem Fall funktioniert?
 
Zurück
Oben