internal static InputTypes ConvertInputScope(InputScope value)
        {
            var firstInputScope = value.GetFirstInputScopeNameValue();

            switch (firstInputScope)
            {
            case InputScopeNameValue.Number:
            case InputScopeNameValue.NumericPin:
                return(InputTypes.ClassNumber);

            case InputScopeNameValue.NumberFullWidth:
                // Android has no InputType that accepts numbers and punctuation other than "Phone" and "Text".
                // "Phone" is the closest one to what we're looking for here, but phone-specific keys could be confusing in some cases.
                return(InputTypes.ClassPhone);

            case InputScopeNameValue.CurrencyAmount:
                return(InputTypes.ClassNumber | InputTypes.NumberFlagDecimal);

            case InputScopeNameValue.Url:
                return(InputTypes.ClassText | InputTypes.TextVariationUri);

            case InputScopeNameValue.TelephoneNumber:
                return(InputTypes.ClassPhone);

            case InputScopeNameValue.Search:
                return(InputTypes.ClassText);

            case InputScopeNameValue.EmailSmtpAddress:
                return(InputTypes.ClassText | InputTypes.TextVariationEmailAddress);

            case InputScopeNameValue.Default:
            default:
                return(InputTypes.ClassText);
            }
        }
Esempio n. 2
0
        partial void SetPasswordScope(bool shouldHideText)
        {
            if (shouldHideText)
            {
                var scopeName = InputScope.GetFirstInputScopeNameValue();

                if (scopeName == Input.InputScopeNameValue.Number || scopeName == Input.InputScopeNameValue.NumericPin)
                {
                    SetInputScope(InputTypes.NumberVariationPassword | InputTypes.ClassNumber);
                }
                else
                {
                    SetInputScope(InputTypes.TextVariationPassword | InputTypes.ClassText);
                }
            }
            else
            {
                SetInputScope(InputTypes.ClassText);
            }

            if (Password != null)
            {
                SetSelection(Password.Length);
            }
        }
Esempio n. 3
0
        public static UITextAutocapitalizationType ConvertInputScopeToCapitalization(InputScope value)
        {
            switch (value.GetFirstInputScopeNameValue())
            {
            case InputScopeNameValue.PersonalFullName:
                return(UITextAutocapitalizationType.Sentences);

            default:
                return(UITextAutocapitalizationType.None);
            }
        }
Esempio n. 4
0
        internal static InputTypes ConvertToCapitalization(InputTypes types, InputScope value)
        {
            switch (value.GetFirstInputScopeNameValue())
            {
            case InputScopeNameValue.Default:
            case InputScopeNameValue.PersonalFullName:
                return(types | InputTypes.TextFlagCapSentences);

            default:
                return(types);
            }
        }
Esempio n. 5
0
        public static UIKeyboardType ConvertInputScopeToKeyboardType(InputScope value)
        {
            switch (value.GetFirstInputScopeNameValue())
            {
            default:
                return(UIKeyboardType.Default);

            case InputScopeNameValue.Number:
            case InputScopeNameValue.DateDayNumber:
            case InputScopeNameValue.DateMonthNumber:
            case InputScopeNameValue.DateYear:
            case InputScopeNameValue.Digits:
                return(UIKeyboardType.NumberPad);

            case InputScopeNameValue.NameOrPhoneNumber:
                return(UIKeyboardType.NamePhonePad);

            case InputScopeNameValue.NumberFullWidth:
            case InputScopeNameValue.NumericPin:
                return(UIKeyboardType.NumbersAndPunctuation);

            case InputScopeNameValue.CurrencyAmount:
                return(UIKeyboardType.DecimalPad);

            case InputScopeNameValue.Url:
                return(UIKeyboardType.Url);

            case InputScopeNameValue.TelephoneNumber:
                return(UIKeyboardType.PhonePad);

            case InputScopeNameValue.Search:
                return(UIKeyboardType.WebSearch);

            case InputScopeNameValue.EmailNameOrAddress:
            case InputScopeNameValue.EmailSmtpAddress:
                return(UIKeyboardType.EmailAddress);
            }
        }