Intereting Posts
Как установить тот же Android-приложение .apk два раза на одном устройстве? Android ListView заголовки Как отправлять параметры с файлом в android Счетчик затвора камеры Android Ошибка при попытке запустить приложение Android на эмулятор с помощью телефонного разговора, как я могу его исправить? Как я могу получить доступ к плейлисту, созданному андроидным музыкальным приложением по умолчанию, и вызвать музыкальное приложение для его воспроизведения? Как создать кнопки с равными ширинами? Как загрузить видео на YouTube в Android? Шифр с режимом ECB не должен использоваться Приложение продолжает забывать sharedpreferences при перезапуске Выход из Facebook с помощью SDK для Android android fb 3.0 Как получить точку / координату пользователя, нажав на андроид? Android FileInputStream read () txt-файл для String Альтернатива библиотеке showCase для пользовательских обучающих программ для приложения? Размещение объектов во время рисования / макета?

Наложение клавиш клавиатуры на клавиатуре Android

Мне интересно, как я могу реализовать следующий оверлей на некоторых кнопках или клавишах, как показано на следующем изображении? Я внедряю пользовательскую клавиатуру … эта вещь нужна для того же самого.

Введите описание изображения здесь

РЕДАКТИРОВАТЬ:

Итак, я реализовал клавиатуру, например, используя Gridview.

Введите описание изображения здесь

Теперь я пытаюсь поместить некоторые наложения (по клику), как на клавиатуре по умолчанию.

Благодаря 🙂

Solutions Collecting From Web of "Наложение клавиш клавиатуры на клавиатуре Android"

То, что вы ищете, – это «предварительный просмотр ключа». Я предполагаю, что вы используете KeyboardView для создания пользовательской клавиатуры. Вы можете включить предварительный просмотр ключа, вызвав setPreviewEnabled (boolean previewEnabled), он должен быть примерно таким: mKeyboardView.setPreviewEnabled(true);

Редактировать:

Я думаю, что эта ссылка поможет вам в вашей реализации и объяснит более подробно то, что я пытался.

Сначала вы создаете макет для клавиатуры, как правило, он содержит только клавиатуру:

 <?xml version="1.0" encoding="UTF-8"?> <android.inputmethodservice.KeyboardView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/keyboard" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:keyPreviewLayout ="@layout/preview" /> 

И затем вы создаете еще один макет для предварительного просмотра:

 <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:background="#ffff00" android:textStyle="bold" android:textSize="30sp"> </TextView> 

После этого вы создадите свою клавиатуру в своем случае примерно так:

 <Keyboard xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="10%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="60dp"> <Row> <Key android:codes="49" android:keyLabel="1" android:keyEdgeFlags="left"/> <Key android:codes="50" android:keyLabel="2"/> <Key android:codes="51" android:keyLabel="3"/> </Row> <Row> <Key android:codes="52" android:keyLabel="4"/> <Key android:codes="53" android:keyLabel="5"/> <Key android:codes="54" android:keyLabel="6"/> </Row> <Row> <Key android:codes="55" android:keyLabel="7"/> <Key android:codes="56" android:keyLabel="8"/> <Key android:codes="57" android:keyLabel="9"/> </Row> </Keyboard> 

Наконец, в вашем java-коде вы раздуваете свой клавиатурный экран или получаете его по его идентификатору, если он включен в фрагмент или макет активности. И вы установили клавиатуру, которую вы разработали для нее.

 kv = (KeyboardView)getLayoutInflater().inflate(R.layout.keyboard, null); keyboard = new Keyboard(this, R.xml.numeric); kv.setKeyboard(keyboard); kv.setOnKeyboardActionListener(this); 

удачи.

Используйте PopupWindow для функции предварительного просмотра ключей (на самом деле я сделал то же самое в своем последнем проекте IME).

Я рекомендую вам использовать дочерний класс KeyboardView потому что он предлагает вам множество функций, чтобы сделать что угодно. Каждый раз, когда нажата клавиша, onPressed вызывается назад, а затем вы знаете, какой из них нажат. И погрузитесь в исходный код KeyboardView , вы можете узнать, где разместить свой popupWindow из класса.

Просто немного усилий. Но если ваш класс не получается из KeyboardView (например, с помощью GridView ), вам придется потратить больше времени, чтобы понять его. В любом случае исходный код является хорошим началом.