AIR 移动应用程序上 TextArea 中的文本显示片刻后消失
Posted
技术标签:
【中文标题】AIR 移动应用程序上 TextArea 中的文本显示片刻后消失【英文标题】:Text in TextArea on AIR mobile app disappears after displaying for a moment 【发布时间】:2012-03-19 11:21:25 【问题描述】:我遇到了一个非常奇怪的问题,我尝试使用文本区域在移动 AIR 应用程序上显示一些文本。每当我在桌面上使用手机模拟器进行调试时,它都可以正常工作,但是每当我将应用程序放在手机上时,文本就会显示,然后消失。我还注意到,如果我锁定屏幕并解锁,当我回来时文本会显示得很好。
代码如下:
<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark" title="Program Overview">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<fx:Script>
<![CDATA[
[Bindable]
private var text:String = "Hey how are ya";
]]>
</fx:Script>
<s:TextArea text="text" editable="false" />
</s:View>
另一个值得注意的有趣的事情是它只发生在某些视图上,并且只发生在第一个 ViewNavigator 选项卡中的视图上。这使我相信我对 TextArea 的使用并没有什么问题,但是在应用程序的更高级别上发生了其他事情。关于我应该寻找什么的任何想法?
【问题讨论】:
当我在移动设备上运行带有冰淇淋三明治时,我确实看到了一些关于 TextAreas 和 4.6 SDK 的奇怪问题,在模拟器中,我使用软键盘时一切都很好,我得到了随机重新插入字符(好像从缓冲区中获取但缓冲区未正确更新或其他内容)。更多关于移动和文本的信息,但没有真正好的理由这是一个问题:help.adobe.com/en_US/flex/mobileapps/… 可能会提供设备操作系统版本和 Flex/AIR 版本。 如果可以,请尝试使用 StyleableTextField 而不是 TextArea。根据我的经验,它在 android 和 ios 设备上运行良好。不过,还没有时间用 ICS 对其进行测试。 如果 TextArea 不可编辑,为什么还要使用它?为什么不直接使用标签?另外,尝试更新到 4.6 SDK。在 4.6 中,移动文本发生了一些重大变化。 @J_A_X 我没有使用标签,因为我需要能够设置文本样式。 (一旦它起作用了)-user1069487 谢谢,我会试一试-shaunhusain 我在 4.6 上,但不是试图在 ICS 上运行,只是 Gingerbread,它在手机上不起作用,这绝对是古怪的,但是在模拟器上 【参考方案1】:我认为添加 skinClass 可以解决问题:
这是用于文本区域的:
<s:TextArea id="text1" skinClass="spark.skins.mobile.TextAreaSkin" text="myVar"/>
这是文本输入:
<s:TextInput id="text2" skinClass="spark.skins.mobile.TextInputSkin" text="myVar"/>
希望对你有帮助!
【讨论】:
欢迎来到 Stack Overflow!在发布多个问题的复制和粘贴样板/逐字答案时要小心,这些往往被社区标记为“垃圾邮件”。如果您这样做,则通常意味着问题是重复的,因此请将它们标记为:***.com/questions/9563788【参考方案2】:我最终按照@Al_Birdy 的建议用 StyleableTextFields 替换了我所有的 TextArea,这解决了这个问题。因为你只能在 AS 中使用它们,所以布局和样式有点困难,但绝对值得修复。
【讨论】:
以上是关于AIR 移动应用程序上 TextArea 中的文本显示片刻后消失的主要内容,如果未能解决你的问题,请参考以下文章