Flex Mobile textInput в текстовой задержке скроллера - PullRequest
3 голосов
/ 18 февраля 2012

Я видел странную задержку в тексте, который вводится в контейнер 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 ]

5 голосов
/ 21 февраля 2012

Я нашел ответ на этот вопрос сам после пары часов поиска в Google. В операторе 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>

Это предотвратит вылет текста из полей ввода текста, когда вы фактически запустите приложение. Я видел некоторые упоминания о том, что программная клавиша не будет работать, когда вы это сделаете, но у меня, похоже, не было проблемы с этим, так что, возможно, она была решена. Надеюсь, что это так же полезно для других, как и для меня.

3 голосов
/ 10 сентября 2012

Теперь 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"/>
3 голосов
/ 10 апреля 2012

Чтобы охватить все TextInputs, используйте CSS.

s|TextInput
{
skinClass: ClassReference("spark.skins.mobile.TextInputSkin");
}
0 голосов
/ 21 января 2015

Эта проблема была исправлена ​​в Apache Flex SDK версии 4.12.0

Ссылка по этой ссылке Apache FLEX JIRA

Если вы используете более старый SDK, проверьте этот компонент ExtendedStageTextInput

Надеюсь, это кому-нибудь поможет ...

...