Как определить маркеры в Flash TLFTextField?

Я использую Flash TLFTextField в гибком проекте. Мы можем добавлять маркеры в TLFTextField, используя HTMLText(li), но как я могу добавить маркеры в TLFTextField без использования HTMLText?

Я могу делать пули в классическом TextField Flash, используя свойство bullet TextFormat.


person Rasekaran    schedule 24.06.2015    source источник


Ответы (2)


Попробуй это

var pText:String =       "<list listStylePosition='inside' listStyleType='disc' afterFormat = '\t' paddingLeft = '30' tabStops='e100 s700'>" +  
                         "<li><p>Mango</p></li>" +  
                         "<li><p>Apple</p></li>" +  
                         "</list>";                       


                    var t:TLFTypographicCase;  
                    textLayoutFormat = new TextLayoutFormat();  
                    //textLayoutFormat.color = "#ffffff";  
                    textLayoutFormat.fontFamily = "Myriad Pro";  
                    textLayoutFormat.fontSize = 36;  

                    textLayoutFormat.paragraphSpaceBefore = 12;  



                    linkNormal = new TextLayoutFormat();  
                    linkNormal.color = 0x26e1fd;  
                    linkNormal.fontFamily = textLayoutFormat.fontFamily;  
                    linkNormal.fontSize = textLayoutFormat.fontSize;  


                    richTextArea.textFlow = TextFlowUtil.importFromString(pText);  
                    richTextArea.textFlow.format = textLayoutFormat;  
                    richTextArea.textFlow.linkNormalFormat = linkNormal;

Пожалуйста, проверьте эту ссылку для получения дополнительной помощи. https://forums.adobe.com/thread/787203?tstart=0

Надеюсь это поможет

person krishnaja mavatoor    schedule 04.08.2015
comment
Вы снова просите меня использовать HTML. Я получаю текст от пользователя и не могу создать из него HTML. Я нашел работоспособное решение и очень скоро им поделюсь. Спасибо, в любом случае. :) - person Rasekaran; 03.09.2015

Это не надежное решение, но это решило мою проблему. Я делюсь своим кодом, чтобы он мог помочь любому, кто столкнется с этой проблемой.

// Imagine you have to apply bullet to the text index between beginIndex, endIndex
var index : int = beginIndex; 
var le : FlowLeafElement = this.textFlow.findLeaf( index + 1 );

var listEle : ListElement = new ListElement();
while( le && index < endIndex ) {

    if( le ){

        var p : ParagraphElement = le.getParagraph();

        if( p ) {

            index += p.getText().length + 1;

            if ( p.getText().length > 0 && ( !( p.parent is ListItemElement ) ) ) {

                var childIndex : int = this.textFlow.getChildIndex( p );
                this.textFlow.removeChild( p );

                listEle = new ListElement();
                var listItem : ListItemElement = new ListItemElement();
                listItem.addChild( p );
                listEle.addChild( listItem );

                if( childIndex >= 0 ){
                    this.textFlow.addChildAt( childIndex, listEle );
                } else {
                    this.textFlow.addChild( listEle );
                }
            }
        }
    }
    le = le.getNextLeaf();
}
person Rasekaran    schedule 03.09.2015