我们正在使用Flash Builder 4.5.1构建移动应用程序,我们的应用程序包含必须接受阿拉伯语字符的文本输入,并且应该是“向左”指向的.在仿真器上都可以正常工作,而在设备上则不行.当您键入字符时,他们看起来很好,但是一旦textinput失去焦点,字符就会立即恢复.
文本输入的代码简单地是< s:TextInput id =“txtTest”direction =“rtl”/>
有没有人知道这可能是什么问题?
这也出现在Android设备上,当我将应用程序编译为Android模式时,文本输入中的阿拉伯文本显示为白框!标签中的阿拉伯文字也很好.我尝试嵌入fondts,但输入的文字不会占用新的字体!
谢谢
解决方法
在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(在文章中没有提及,但它对我有用) .