3

在我的 flex 移动应用程序中,输入到 textInput 容器中的文本中出现了奇怪的延迟。当我在 textInput 中输入一些文本然后向任何方向滚动时,就会出现问题。整个屏幕和所有对象似乎都在移动,除了 textInput 中的文本。

当我选择 textInput 开始输入时,这成为一个非常大的问题,软键盘出现并移动输入,然后将光标和输入的文本放在屏幕上的其他位置。它看起来很糟糕。

这是一般性能问题吗?有关如何修复的任何建议?

代码是基本的:

 <s:Scroller x="0" y="0" width="100%" height="100%" verticalScrollPolicy="on" >
      <s:Group> 
         <s:TextArea softKeyboardType="number" id="ti1" y="145" width="390" height="75"                      fontSize="36" fontWeight="bold" horizontalCenter="0" text=" "/>
      </s:Group>
    </s:Scroller>
4

4 回答 4

5

经过几个小时的谷歌搜索,我自己找到了答案。在 textinput 语句中,需要添加 skinClass="spark.skins.mobile.TextInputSkin"

如果看起来像这样。

<s:Scroller x="0" y="0" width="100%" height="100%" verticalScrollPolicy="on" >
    <s:Group>   
    <s:TextInput skinClass="spark.skins.mobile.TextInputSkin"/>     
    </s:Group>
    </s:Scroller>

当您实际运行应用程序时,这将防止文本“飞出”文本输入框。我确实看到有人提到当你这样做时软键盘将不起作用,但我似乎对此没有任何问题,所以也许已经解决了。希望这对其他人和我一样有用。

于 2012-02-21T16:38:33.750 回答
3

要覆盖所有 TextInputs,请使用 CSS。

s|TextInput
{
skinClass: ClassReference("spark.skins.mobile.TextInputSkin");
}
于 2012-04-10T17:10:01.593 回答
3

现在 softKeyboardType="{SoftKeyboardType.NUMBER}" 不再起作用了。

有任何想法吗?

对于移动应用程序,您必须使用 StageTextInputSkin 和 StageTextAreaSkin:

<s:TextInput restrict="0-9" maxChars="3"
             skinClass="spark.skins.mobile.StageTextInputSkin"
             softKeyboardType="{SoftKeyboardType.NUMBER}"/>

<s:TextArea restrict="0-9" maxChars="3"
            skinClass="spark.skins.mobile.StageTextAreaSkin"/>
于 2012-09-10T08:55:26.243 回答
0

此问题已在 Apache Flex SDK 版本 4.12.0 中修复

请参阅此链接 Apache FLEX JIRA

如果您使用的是旧版 SDK,请查看此组件ExtendedStageTextInput

希望这可能对某人有所帮助....

于 2015-01-21T09:43:01.807 回答