zoukankan      html  css  js  c++  java
  • <转>AS3及Flex的百条常用知识(二)


    2009年12月21日 星期一 03:45 P.M.

    【自动大小调整和对齐】
    TextField.autoSize = TextFieldAutoSize.LEFT;
    可选之值:
    flash.text.TextFieldAutoSize.CENTER
    flash.text.TextFieldAutoSize.LEFT
    flash.text.TextFieldAutoSize.NONE
    flash.text.TextFieldAutoSize.RIGHT

    【指示文本字段是否自动换行】
    TextField.wordWrap = true; //自动换行

    【用程序手段滚动文字】
    水平方向以像素为单位,而垂直方向以行做单位:
    scrollV: 指出文字框可见区域的最顶行,可读写;
    bottomScrollV: 指出文字框内最底端可见行,只读;
    maxScrollV: scrollV的最大值,只读;
    numLines: 定义多行文本字段中的文本行数,只读;
    TextField.scrollV = field.maxScrollV; //滚动到最后一页

    【响应滚动事件】
    field.addEventListener(Event.SCROLL, onTextScroll);

    【样式化文字的方法】
    1. 使用HTML标签进行样式化;
    2. 使用TextFormat对象;
    3. 使用CSS.
    例如: HTML是用<font>标签,TextFormat对象是设定font属性,而CSS是使用font-family属性的.
    受支持的层叠样式表(CSS)属性和值,及其相应的ActionScript属性名称(小括号内):
    color(color),display(display),font-family(fontFamily),font-size(fontSize),font-style(fontStyle),font-weight(fontWeight),kerning(kerning),leading(leading),letter-spacing(letterSpacing),margin-left(marginLeft),margin-right(marginRight),text-align(textAlign),text-decoration(textDecoration),text-indent(textIndent)
    受支持的HTML实体: <(小于号: <), >(大于号: >), &(和: &), "(双引号: "), '(撇号,单引号: ')
    其中样式对象的两种写法:
    写法一:
    var sampleStyle:Object = new Object();
    sampleStyle.color = "#FFFFFF";
    sampleStyle.textAlign = "center";
    css.setStyle(".sample", sampleStyle);
    写法二:
    var sampleStyle:Object = {color: "#FFFFFF", textAlign: "center"};
    css.setStyle(".sample", sampleStyle);

    【对用户输入的文字进行样式化】
    使用defaultTextFormat属性,样式会施加至用户键入输入框的文字身上:
    var formatter:TextFormat = new TextFormat();
    formatter.color = 0x0000FF; //把文字变成蓝色
    field.defaultTextFormat = formatter;

    【对现有文字的一部分进行样式化】
    TextFormat.setTextFormat(format:TextFormat, beginIndex:int = -1, endIndex:int = -1):void

    【设定文字框的字体】
    例子:
    HTML: field.htmlText = "<font face='Arial'>Formatted text</font>";
    TextFormat: formatter.font = "Arial";
    CSS: P{ font-family: Arial; }
    也可以使用以逗号隔开的字体清单: formatter.font = "Arial, Verdana, Helvetica";
    注意:
    字体和字体群组不同.字体群组有三种: _sans,_serif以及_typewriter.
    _sans群组一般就是指Arial或Helvetica这种字体;
    _serif群组一般就是指Times或Times New Roman这种字体;
    _typewriter群组一般就是指Courier或Courier New这种字体.

    【嵌入字体】
    使用[Embed]后设标签.[Embed]后设标签应该出现在ActionScript文件中,处于类宣告之外.你可以内嵌TrueType字体或系统字体.内嵌TrueType字体时的语法:
    [Embed(source="pathToTtfFile", fontName="FontName", mimeType="application/x-font-truetype")]
    pathToTtfFile: ttf文件的路径,TrueType字体的路径可以是相对的,也可以是绝对的;
    FontName: 字体名称;
    内嵌系统字体的语法:
    [Embed(systemFont="Times New Roman", fontName="Times New Roman", mimeType="application/x-font-truetype")]
    fontName: 以相同名称作为实际系统字体名称.
    注 意: 在使用嵌入字体时,要把TextField的embedFonts属性设为true,这样TextField只能用内嵌字体了.如果你试着替 embedFonts设为true的TextField使用设备字体,什么都不会显示.如果embedFonts设为true,就无法指定以逗号相隔的字体清单.

    【建立可以旋转的文字】
    使用内嵌字体.当你旋转文字框时,设备字体就会消失.

    【显示Unicode文字】
    1. 从外部来源载入Unicode文字;
    2. 假如你的编辑器支持Unicode(如 Flex Builder),则可以直接在ActionScript程序中使用该字符;
    3. 使用Unicode转义字符,ActionScript里所有Unicode转义字符都以\u开头,后面再跟四位十六进制数字.
    注意: 如果你想取得Unicode字符,在Windows下使用: 开始>所有程序>附件>系统工具>字符映射表.

    【把Flash Player的焦点带给文字框】
    stage.focus = field;
    把焦点移除:
    stage.focus = null;
    注意: 当.swf文件首次载入至网页浏览器时,并没有焦点.因此,以程序的方式把焦点指定给Flash应用程序的一个元素前,必须先把焦点移至Flash Player.

    【以ActionScript选取文字】
    使用TextField.setSelection(beginIndex:int, endIndex:int):void
    为了可以正常选取文字,文字框必须具有焦点:
    stage.focus = field; //把焦点设给文字框
    field.text = "This is example text"; //设定文字
    field.setSelection(0, 4); //把"This"这个单词以高亮显示
    使用只读的selectionBeginIndex和selectionEndIndex属性访问所选取的字符范围的索引.

    【在文字内设定安插点(游标位置)并访问游标位置的索引值】
    可以使用TextField.setSelection()把起始和结尾的索引参数都设成相同值,在文字内设定游标位置(假设具有焦点):
    field.setSelection(0, 0); //在第一个字符前摆放安插点
    trace(field.caretIndex); //输出游标位置的索引值

    【当文本字段受到选取或取消选取时给予响应】
    获得焦点时: FocusEvent.FOCUS_IN
    失去焦点时: FocusEvent.FOCUS_OUT
    通过键盘(Tab键)把焦点移除时: FocusEvent.KEY_FOCUS_CHANGE
    通过鼠标把焦点移除时: FocusEvent.MOUSE_FOCUS_CHANGE
    FocusEvent 类有一个relatedObject属性.就FOCUS_IN事件而言,relatedObject属性是刚才拥有焦点的对象的引用地址;对于 FOCUS_OUT,KEY_FOCUS_CHANGE以及MOUSE_FOCUS_CHANGE事件,relatedObject属性是刚接收到焦点的对象的引用地址.
    FOCUS_IN和FOCUS_OUT事件都是在焦点改变后发生的,所以两者都是不可取消的事件.对于KEY_FOCUS_CHANGE和MOUSE_FOCUS_CHANGE事件,可以使用FocusEvent.preventDefault()方法取消默认行为:
    field.addEventListener(FocusEvent.KEY_FOCUS_CHANGE, onKeyFocus);
    private function onKeyFocus(event:FocusEvent):void {
    if(field.text == "") {
    event.preventDefault(); //当field没有任何文字前,不允许使用Tab键把焦点移除
    }
    //event.relatedObject就是刚才拥有焦点的对象的引用地址,即下一个获得焦点的对象的引用地址
    }

  • 相关阅读:
    Aptana在Eclipse的安装
    spket插件安装并设置JQuery自动提示(转)
    MyEclipse2014安装aptana插件
    GreenDao存储自定义类型对象解决方案(转)
    用PLSQL Developer 查看Oracle的存储过程
    用PLSQL Developer 查看连接因子 tnsnames.ora
    H5前端框架推荐合集 (转)
    10大H5前端框架(转)
    GreenDao3.0简单使用(转)
    Oracle常用查看表结构命令(转)
  • 原文地址:https://www.cnblogs.com/nianshi/p/1739426.html
Copyright © 2011-2022 走看看