0

我想覆盖MinimalDesktopTheme默认字体(以便能够使用 UTF-8 字符),并且我已经像这样扩展了主题类:

public class DesktopTheme extends MinimalDesktopTheme
{
    public function DesktopTheme()
    {
        super();
    }

    override protected function initializeFonts():void
    {
        super.initializeFonts();
        trace(TextField.getBitmapFont(FontProxy.ACTION_JACKSON_NAME));
        this.primaryTextFormat = new BitmapFontTextFormat(
            FontProxy.ACTION_JACKSON_NAME,
            30,
            BaseMinimalDesktopTheme.PRIMARY_TEXT_COLOR
        );
    }
}

跟踪显示字体已成功注册:[object BitmapFont]. 在执行此代码之前,我在不同的地方注册它。

问题是从feathers.core::FeathersControl/setSizeInternalat 行引发异常,1871并显示以下消息[Fault] exception, information=ArgumentError: A component's height cannot be NaN.The heightparameter is not a number for some reason。

在生成位图字体时,我也在玩弄字体大小,我注意到对于位图字体大小的某些值,不会发生此异常。

我究竟做错了什么?如何正确覆盖默认主题字体?

4

1 回答 1

0

事实证明我的方法是正确的,问题是由于我以纯文本格式而不是 XML 生成位图字体这一事实引起的。

于 2015-07-27T14:29:24.500 回答