Я хотел сделать собственную клавиатуру, которая была бы на правом краю моего экрана. По большей части я достиг этого. Но когда задействован windowSoftInputMode="adjustResize"
, все выталкивается из экрана.
У меня есть только пара клавиш на моей пользовательской клавиатуре. Это в основном для посещения. Поэтому я хочу, чтобы они находились с правой стороны моего экрана и имели достаточно места, чтобы видеть имена участников. Но кажется, что клавиатура выскочит только снизу.
Я пытался использовать:
<android.inputmethodservice.KeyboardView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="120dp"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:background="@android:color/transparent"
android:layout_gravity="right"
android:foregroundGravity="right"
app:layout_anchorGravity="right"/>
Я заметил, что изменение layout_width имеет нулевой эффект. Тогда я попытался взломать, используя android:horizontalGap' attribute on
`в файле раскладки клавиатуры:
<Keyboard ...>
<Row>
<Key android:keyLabel="Absent"
android:codes="A"
android:keyEdgeFlags="left"/>
<Key .../>
</Row>
по большей части, он работал нормально. желаемый и достигнутый макет
Но в большинстве приложений, когда я пытаюсь редактировать текст в приложении сообщений Android по умолчанию, это происходит: нежелательный макет
Все выталкивается с экрана. Я предполагаю, что атрибут windowSoftInputMode="adjustResize"
устанавливает EditText поверх клавиатуры и, следовательно, снимает все с экрана.
Итак, как я могу это исправить? Предпочтительным решением было бы то, что полностью закрепляет клавиатуру на правой стороне экрана и за пределами приложения вместо нижней стороны. Я пытался, но не смог найти подходящего решения. Еще одно «правильное» решение - заставить приложение не «корректировать размер». Любая помощь приветствуется. Спасибо.