4

使用 CS4,如何设置 List 控件的字体?我试过这个:

        var myFormat:TextFormat = new TextFormat();
        myFormat.font = config.settings["list font name"];
        myFormat.size = Number(config.settings["list font size"]);
        list.setStyle("textFormat", myFormat);

没有骰子。

4

3 回答 3

5

您可以按实例、类和全局设置样式。

对于可选列表(List、ComboBox、TileList 等),您需要使用setRendererStyle而不是setStyle,因为您正在为每个单元格渲染器/项目设置样式,而不是列表本身,如果这有意义的话:

list.setRendererStyle('textFormat',myFormat);

您也可以使用StyleManager使用全局样式。

确保首先嵌入您的字体,然后尝试

import fl.managers.StyleManager;

var myFormat:TextFormat = new TextFormat(config.settings["list font name"],config.settings["list font size"]);
StyleManager.setStyle('embedFonts',true);
StyleManager.setStyle('textFormat',myFormat);
于 2009-08-29T14:57:51.930 回答
0

可悲的是,我花了很长时间才弄清楚:
http://help.adobe.com/en_US/AS3LCR/Flash_10.0/fl/controls/SelectableList.html#setRendererStyle()

于 2009-10-19T23:33:34.127 回答
0

上面的答案似乎相当陈旧,它们不再对我有用...... Will Mavis 提供的链接也不再打开。

无论如何,我找到了一种对我有用的方法(在 Flash CS6 上):(如上所述,不要忘记嵌入你的字体)

import fl.managers.StyleManager;
import flash.text.TextFormat

var myFormat:TextFormat = new TextFormat();
myFormat.font = "Arial";  // your font
myFormat.size = 20;  // your font size
myList.setRendererStyle('textFormat',myFormat);
myList.rowHeight = 30;  // if you want to change the row height (to better match the text size)
于 2018-04-27T15:00:33.617 回答