Пользовательские номера EditText для Android

В моем приложении есть EditText-Fields, которые должны содержать десятичные числа. Таким образом, моя клавиатура должна отображать все числа, запятую, точку и знак минус, чтобы вводить валютные значения. Я определил EditText-Field с помощью следующих типов ввода:

InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL | InputType.TYPE_NUMBER_FLAG_SIGNED

Так что это работает почти для всех устройств Android, но совсем недавно я обнаружил странное поведение с устройствами Samsung A3 (2017):

отображаемая клавиатура

Как видите, клавиатура позволяет вводить только натуральные числа.

Данные тестового устройства:

  • Телефон: Galaxy A3 (2017)
  • Версия Android: 8.0.0
  • Версия Samsung Experience: 9.0
  • Клавиатура: Клавиатура Самсунг
  • Устройство под управлением MDM: Да (KNOX)

Я установил клавиатуру GBoard от Google, и цифровая клавиатура появилась, как и хотелось, с точками и запятыми. Но я не могу просто надеяться на то, что потребители загрузят другую клавиатуру, если клавиатура Samsung не работает. Любые идеи, как решить эту проблему?

Я реализовал свой CustomEditText как состояние в этой теме: Клавиатура Android с номером и десятичное для LG G4


person beware_bear    schedule 25.09.2018    source источник