В моем приложении есть поля EditText, которые должны содержать десятичные числа.Поэтому моя клавиатура должна показывать все цифры, запятую, точку и знак минус, чтобы ввести значения валюты.Я определил поле EditText через следующие InputTypes:
InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL | InputType.TYPE_NUMBER_FLAG_SIGNED
Так что это работает почти для всех устройств Android, но совсем недавно я обнаружил странное поведение с устройствами Samsung A3 (2017):
![displayed keyboard](https://i.stack.imgur.com/o0ozr.png)
Как видите, клавиатура позволяет вводить только натуральные числа.
Данные тестового устройства:
- Телефон: Galaxy A3 (2017)
- Версия Android: 8.0.0
- Версия Samsung Experience: 9.0
- Клавиатура: Клавиатура Samsung
- Управляемое MDM устройство: Да (KNOX)
Я установил клавиатуру Google на клавиатуре GBoard, и цифровая клавиатура появилась как хотелось, с точками и запятыми.Но я не могу просто надеяться на потребителей, загружающих другую клавиатуру, если клавиатура Samsung не работает.Есть идеи, как решить эту проблему?
Я реализовал свой CustomEditText в качестве состояния в этой теме: Клавиатура Android с номером и десятичной дробью для LG G4