在AS3列表控件(flash.controls.List)中设置字体名称和大小

发布于 2024-07-25 09:33:34 字数 301 浏览 2 评论 0原文

使用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);

没有骰子。

Using CS4, how do I set the font of a List control? I tried this:

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

No dice.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

耀眼的星火 2024-08-01 09:33:34

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

对于可选择列表(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);

You can set styles by instance, class and globally.

For selectable lists(List,ComboBox,TileList,etc.), you need to use setRendererStyle instead of setStyle, because you're setting styles for each cell renderer/item, not the list itself, if that makes sense:

list.setRendererStyle('textFormat',myFormat);

Also you can use global styles using StyleManager.

Make sure your fonts is embedded first, then try

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);
独木成林 2024-08-01 09:33:34

看来上面的答案相当旧,它们不再对我有用......
威尔·梅维斯提供的链接也不再打开。

无论如何,我找到了一种对我有用的方法(在 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)

It seems the answers above are rather old, and they no longer worked for me...
The link Will Mavis provided doesn't open anymore either.

Anyway, I found a way that worked for me (on Flash CS6):
(and as written above, don't forget to embed your font)

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)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文