我们正在使用 Flash Builder 4.5.1 构建一个移动应用程序,我们的应用程序包含一个文本输入,它必须接受阿拉伯字符并且应该是“从右到左”定向。在模拟器上一切正常,而在设备上则不然。当您键入字符时,它们看起来不错,但是一旦 textinput 失去焦点,字符就会立即恢复。
文本输入的代码很简单 <s:TextInput id="txtTest" direction="rtl"/>
,
有谁知道可能是什么问题?
这也出现在Android设备上,当我将应用程序编译为android模式时,文本输入中的阿拉伯文本显示为白框!!!标签中的阿拉伯语文本也很好。我尝试嵌入软体,但文本输入不会采用新字体!
谢谢
请您参考如下方法:
在使用 Flash Builder 4.6 开发应用程序时,我注意到了类似的情况。我注意到的是,当我专注于文本区域时,该文本区域中的字体会发生变化,而当我专注于文本区域时,字体将恢复原状。这仅发生在 iOS 中。输入文本时似乎使用了某些默认设备字体,然后在输入文本后应用应用程序的字体。在输入文本并应用您的应用程序的字体后看不到字体的原因很可能是因为您没有将字体嵌入到应用程序中(这也可以解释为什么它在模拟器中而不是在设备上工作)。在 flex 移动项目中嵌入字体并不是很简单。您需要嵌入字体两次,一次将 embedAsCFF 设置为 false,另一次将 embedAsCFF 设置为 true。然后根据您使用的文本区域的类型,您需要将具有正确字体系列的 CSS 应用到它。这是一篇更清晰地解释过程的文章http://blogs.adobe.com/jasonsj/2011/08/embedding-fonts-in-flex-mobile-projects.html .最后一件事,如果您嵌入字体但仍然遇到问题,请尝试将 textarea 的 embedFonts 属性设置为 true(文章中没有提到这一点,但对我有用)。