не могли бы вы добавить android версию устройств, на которых вы тестировали?
Как я понимаю, вы хотите открыть клавиатуру и разрешить пользователю вводить только заглавные буквы. Есть несколько способов сделать это:
android:inputType="textCapSentences"
будет работать для предложений, чтобы запросить использование заглавных букв для первого символа каждого предложения.
*
android:inputType="textCapCharacters"
, чтобы запросить использование заглавных букв для всех символов.
android:inputType="textCapWords"
, чтобы запросить использование заглавной буквы для первого символа каждого слова. Их можно комбинировать с text и его вариациями, такими как textPersonName, textPostalAddress, textShortMessage и другими ...
например: android:inputType="textCapWords|textCapSentences"
и android:inputType="textPostalAddress|textCapSentences"
проверьте документация: https://developer.android.com/reference/android/widget/TextView.html#attr_android: inputType
Или вы можете сделать это программно:
EditText input = (EditText).findViewById(R.id.ID);
input.setInputType(InputType.TYPE_TEXT_FLAG_CAP_SENTENCES);
Вы также можете использовать android:capitalize
, он работает в некоторых случаях и должен автоматически использовать заглавные буквы в том, что вводит пользователь.
android:inputType="none"
, который не будет автоматически использовать заглавные буквы.
android:inputType="sentences"
, который будет использовать первое слово каждого предложения.
android:inputType="words"
, что будет Начинайте каждое слово с заглавной буквы.
android:inputType="characters"
, КОТОРЫЙ БУДЕТ ЗАПИСАННЫМ КАПИТАЛИЗАЦИЕЙ КАЖДОГО ХАРАКТЕРА.
Если все эти предложения не работают для вас, это проблема с устройствами Samsung и некоторыми указать c android версии. Попробуйте исправить это с помощью настроек клавиатуры, как предлагается здесь: { ссылка }