【发布时间】:2016-07-26 12:34:52
【问题描述】:
有一个用 Apache Flex 编写的纸牌游戏,我正在努力保持它的活力,虽然 iOS version 仍然可以正常工作,但 Android app 出现了几个视觉问题:
- 卡片套装符号显示不正确(我的主要问题!)
- ActionBar 文本颜色有时为黑色
- BusyIndicator 不再旋转
以下是演示我的问题的 Android 屏幕截图:
这是我完整的 CSS 文件:
@namespace s "library://ns.adobe.com/flex/spark";
@namespace mx "library://ns.adobe.com/flex/mx";
s|ActionBar {
chromeColor: #0066CC;
color: #FFFFFF; /* BUT WHY IS IT BLACK SOMETIMES? */
titleAlign: center;
textShadowColor: #000000;
fontFamily: embFont;
}
@font-face {
src: url("/assets/fonts/arial.ttf");
fontFamily: embFont;
embedAsCFF: false; /* required for StyleableTextField */
unicodeRange:
U+0020-U+0040, /* Punctuation, Numbers */
U+2660-U+2666, /* Card suits - BUT THEY STOPPED WORKING */
U+0041-U+005A, /* Upper-Case A-Z */
U+0061-U+007A, /* Lower-Case a-z */
U+0410-U+0451; /* Cyrillic */
}
s|LabelItemRenderer {
fontFamily: embFont;
}
这里是显示牌花色和忙碌指示符的 MXML 代码的摘录:
<s:titleContent>
<s:Label id="_titleTxt"
fontWeight="bold"
color="#FFFFFF"
width="100%" />
<s:BusyIndicator id="_busy"
includeInLayout="false"
visible="false" />
</s:titleContent>
<s:actionContent>
<s:CalloutButton id="_leftBtn"
icon="{VIP}"
verticalPosition="after"
includeInLayout="false"
visible="false">
<s:VGroup width="100%">
<s:Label id="_left0" fontSize="{Preferans.FONT_SIZE}" />
<s:Label id="_left1" fontSize="{Preferans.FONT_SIZE}" color="#FF0000" />
<s:Label id="_left2" fontSize="{Preferans.FONT_SIZE}" />
<s:Label id="_left3" fontSize="{Preferans.FONT_SIZE}" color="#FF0000" />
</s:VGroup>
</s:CalloutButton>
...
</s:actionContent>
专门为 Label 添加以下 CSS 代码没有帮助:
s|Label {
fontFamily: embFont;
}
此外,我会在每个新的 Apache Flex 版本中安装和重新编译我的应用程序,并确保我不会忘记安装可选的 flex-fontkit.jar,但这无济于事:
请帮忙,过去几年 Apache Flex 4 发生了什么变化,它破坏了我的 Android 应用程序?
这是我的应用程序正常运行时的旧照片:
【问题讨论】:
-
当你说停止工作时......你的意思是从 Flex 4.6 回归到 4.15 吗?
-
不,它也适用于 Flex 4.12 或 4.13。也许是安卓版本的变化——我没有旧版本的安卓手机了。通过提出这个问题,我希望有人会指出一些计划中的 Flex 更改,需要在我这边适应 CSS...
标签: android apache-flex fonts flex4 embedded-fonts