You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flex.apache.org by "Maurice Amsellem (JIRA)" <ji...@apache.org> on 2013/11/14 13:45:22 UTC

[jira] [Comment Edited] (FLEX-29024) TextInput component ignores autoCapitalize, autoCorrect, and softKeyboardType properties when using TextInputSkin skin

    [ https://issues.apache.org/jira/browse/FLEX-29024?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13822370#comment-13822370 ] 

Maurice Amsellem edited comment on FLEX-29024 at 11/14/13 12:44 PM:
--------------------------------------------------------------------

I changed the ticket title to reflect the real issue.  
I could make more tests on an iPad that confirm my assumptions and what is described in Adobe links above: 
It's not about subclassing the skin, but rather on the base skin capabilities themselves.
TextInput can be used on mobile with two possible skins, that both have pros and cons. You chose the one that better fits your requirements, but none are perfect fit.

*a) StageTextInputSkin:*
it's a wrapper on *StylableStageText* and *StageText* (native OS text field), and allows fine control on the native soft keyboard capabilities:  autoCapitalize, autoCorrect, softKeyboardType, but cannot be used on Forms that scrolls and does not support embedded or complex styled fonts.
(however, it behaves correctly when changing the orientation of the screen, tested by me).
This is the default and preferred skin

*b) TextInputSkin*
This is purely Flex component, using *StyleableTextField* (subclass of flash.text.TextField) as the inner input object. It's part of the DisplayList, so allows all Flex behavior (Scrolling, styling, embedded fonts).
However, it does not allow for fine control of the soft keyboard caps.  autoCaps, autoCorrect and softKeyboardType are ignored and use default values.

Now, you know the limitations of each option, so chose the one that fits your #1 requirements, but you can't get scrolling and keyboard=number at the same time.

*Important Note*: The key to this behavior is the innner classes ( flash.text.StageText and flash.text.TextField) which both belong to the Flash Player or AIR player.
So this is definitely an *Adobe* issue, and not a Flex issue, sorry.






was (Author: mamsellem):
I changed the ticket title to reflect the real issue


> TextInput component ignores autoCapitalize, autoCorrect, and softKeyboardType properties when using TextInputSkin skin
> ----------------------------------------------------------------------------------------------------------------------
>
>                 Key: FLEX-29024
>                 URL: https://issues.apache.org/jira/browse/FLEX-29024
>             Project: Apache Flex
>          Issue Type: Bug
>          Components: Spark: TextInput
>    Affects Versions: Adobe Flex SDK 4.6 (Release)
>         Environment: Affected OS(s): All OS Platforms
> Affected OS(s): All OS Platforms
> Language Found: English
>            Reporter: Adobe JIRA
>            Assignee: Maurice Amsellem
>
> Steps to reproduce:
> 1. add a textinput in a flex mobile project then do one or more of the following:
> 2. set the autoCapitalize property to "none"
> 3. set the autoCorrect property to "false"
> 4. set the softKeyboard property to "number"
> 5. create a custom skin and set the skin either in a css file or by setting the skin property of the component.  (note:  I have tried just making a skin as simple as extending the TextInputSkin with nothing else but calling the super() method, and I have tried coping the actual TextInputSkin myself and setting the skin to that file and the functionality will not work) 
>  
>  Actual Results:  Text input will still use autocorrect, auto capitalize and only show the regular keyboard.  Removing the skin results in the functionality working properly.
>  
>  
>  Expected Results:  Text input with custom skin should not allow auto correcting or auto capitalization of text being typed, correct type of keyboard should appear as well.
>  
>  
>  Workaround (if any): none



--
This message was sent by Atlassian JIRA
(v6.1#6144)