Android всплывающая клавиатура с пользовательской клавиатурой - PullRequest
0 голосов
/ 03 июня 2018

Я хочу написать собственную клавиатуру для своего приложения для Android.У некоторых клавиш есть всплывающая клавиатура.Ради простоты я уменьшил количество ключей.Мой keyboard.xml:

<?xml version="1.0" encoding="utf-8"?>
<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"

    android:keyHeight="5%p"
    android:keyWidth="10%p"
    android:verticalGap="0pt"
    android:horizontalGap="0pt">

    <Row>
        <Key
            android:codes="12354"
            android:horizontalGap="0%p"
            android:keyLabel="あ"
            android:keyOutputText="あ" /> <!-- a -->

        <Key
            android:codes="12363,12364"
            android:horizontalGap="0%p"
            android:keyLabel="か"
            android:keyOutputText="か"
            android:popupCharacters="かが"
            android:popupKeyboard="@xml/popup" /> <!-- ka -->
    </Row>

</Keyboard>

Мой popup.xml:

<?xml version="1.0" encoding="utf-8"?>
<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"

    android:keyHeight="5%p"
    android:keyWidth="15%p"
    android:horizontalGap="0pt"
    android:verticalGap="0pt">


</Keyboard>

Но результаты ужасные (keyHeight составляет 2,5% p во всплывающем окне):

enter image description here

И если во всплывающем окне значение keyHeight равно 5% p:

enter image description here

Как это исправитьвсплывающая клавиатура?Мне не нужно поле, я хочу видеть символы.

1 Ответ

0 голосов
/ 18 октября 2018

Поскольку вы не получили никакого ответа в течение четырех месяцев, я просто предложу взломать.Возможно, это заставит эксперта исправить это и даст вам реальный ответ:

Вы можете попробовать заменить

android:keyHeight="5%p"

на абсолютное значение

android:keyHeight="60dip"

иливозможно попробуйте

android:keyHeight="60dp"

Вам нужно поиграть с числами, у меня есть 60dip для африканского языка со сложенными тональными маркерами на моей собственной пользовательской клавиатуре.Поэтому замените «60» другими значениями и посмотрите, что может работать лучше.

Если это работает на ваших виртуальных устройствах в Android Studio, вам все равно нужно протестировать на разных телефонах - но, возможно, вы можете найти настройку для"слишком высоко" вместо вашего настоящего "слишком низко для персонажей".

...