我正在构建一个支持本地化的移动应用程序。该应用程序支持三种语言,它的目标是Android和ios。一切都适用于调试版本;我可以测试所有语言的一切。当我发布版本时,应用程序上的所有文本都会消失!按钮显示没有文字。如果我将其中一些更改为不使用资源管理器,则更改的那些将显示文本。有谁知道为什么会发生这种情况?我使用的是Flashbuilder 4.6,Apache Flex 4.11 air 13 beta。
感谢。
答案 0 :(得分:0)
要解决此问题,您必须在应用中嵌入字体。它是一个常见的场景,说你的系统有XYZ字体,所以你的系统中的应用程序给出了正确的输出,所以有不同的情况说有人有一个字体所以没有问题,但有人可能没有在他的系统中安装字体我们的应用做什么?????没什么。所以我有这个问题的解决方案是在你的应用程序中嵌入一个字体。 在您的应用中嵌入字体的几种方法
第一种方式(在css中)
@font-face {
src: url("location");
fontFamily: alias;
[fontStyle: normal | italic | oblique] ;
[fontWeight: normal | bold | heavy] ;
[embedAsCFF:true | false] ;
[advancedAntiAliasing: true | false];
}
.customStyle {
fontFamily: myFontFamily;
fontSize: 24;
skinClass: ClassReference("spark.skins.mobile.TextAreaSkin");
}
第二种方式(在主应用程序中)
<fx:Style>
@namespace s "library://ns.adobe.com/flex/spark";
@font-face {
src: url("../assets/MyriadWebPro.ttf");
fontFamily: myFontFamily;
embedAsCFF: false;
}
.customStyle {
fontFamily: myFontFamily;
fontSize: 24;
skinClass: ClassReference("spark.skins.mobile.TextAreaSkin");
}
</fx:Style>
有关在应用中嵌入字体的更多帮助,请转到 http://divillysausages.com/blog/as3_font_embedding_masterclass
这可能会对你有所帮助
此致 JK Patel
答案 1 :(得分:0)
我终于找到了问题,这是我的代码中的一个错误!在应用程序的第一次初始化时,ResourceManager localeChain没有默认值。我没有在我的测试设备上看到这个问题,因为应用程序已将localechain值保存在设备本地存储中。每次我在我的设备上进行新的开发构建和安装时,它会在第一次初始化时读取保存的localechain。谢谢Patel