AS3圆角文本字段

Bry*_*yan 4 dynamic actionscript-3 rounded-corners textfield

有谁知道如何在AS3中创建具有可见边框和圆角的动态文本字段?

我想我可能需要创建一个圆形的动画片段,调整大小并将其放在文本后面.

我试过这个,但我没有看到任何变化.

var styleRound:StyleSheet = new StyleSheet();
styleRound.parseCSS("h4{cornerRadius:10;borderStyle: solid; borderThickness: 1;}");
tf.htmlText = "<h4>" + hotspotData.caption + "</h4>";
tf.styleSheet = styleRound;
Run Code Online (Sandbox Code Playgroud)

Jam*_*ett 8

以下是ActionScript 3中TextFields可用CSS样式的列表.对不起,没有角落半径.

您可以在TextField对象边框属性上为文本字段打开边框.但是拐角处没有可用的房产.

我建议您创建一个新组件,并在TextField下面自己添加边框作为Sprite.就像是:

package
{

import flash.display.Graphics;
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;

public class TextBorder extends Sprite
{
    private static const CORNER_RADIUS:int = 5;
    // display objects
    private var background:Sprite;
    private var field:TextField;

    // properties
    private var _text:String;

    public function TextBorder()
    {
        background = new Sprite;
        field = new TextField;
        field.autoSize = TextFieldAutoSize.LEFT;

        addChild(background);
        addChild(field);

        // TESTING:
        text = "Hello World";
    }

    public function set text(newText:String):void
    {
        _text = newText;
        display();
    }

    public function get text():String
    {
        return _text;
    }

    private function display():void
    {
        field.text = _text;

        var g:Graphics = background.graphics;
        g.clear();
        g.lineStyle(0, 0x0);
        g.beginFill(0xFFFFFF);
        g.drawRoundRect(0, 0, field.width, field.height, CORNER_RADIUS);
    }
}

}
Run Code Online (Sandbox Code Playgroud)