2009-11-03 2 views
6

Если у вас есть Android-телефон, вы, несомненно, заметили, как в определенных приложениях раскладка клавиатуры может меняться от стандартной проблемы до цифр или только для .com или .net специальных кнопок на основе тип ввода текстового поля (например, номер телефона). Поэтому у меня есть 2 вопроса:Android - настраиваемая клавиша клавиатуры и действие

  1. как вызвать эту настройку? Я подозреваю, что это имеет отношение к EditText формате
  2. Можно ли это сделать еще дальше, если я хочу добавить некоторые пользовательские кнопки для ввода определенного шаблона? Скажем, у меня была бы кнопка AND, которая при нажатии добавит все прописные буквы «AND», окруженные пробелами, в текстовое поле. Это можно сделать?
  3. Что я не спрашиваю, как захватить некоторую комбинацию клавиш в событии onKeyPress, а затем заполнить текстовое поле шаблоном - я в значительной степени знаю, как это сделать.

ответ

7

Управление им связано с атрибутом XML (или методом setInputType()).

Для получения информации о доступных возможностях см. Страницы для XML attribute или object's method.

В качестве примера, следующий XML:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 
    <EditText 
     android:text="example text" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:inputType="phone" /> 
</LinearLayout> 

даст вам этот макет:

Hosted by imgur.com

тогда как изменение inputType к textEmailAddress даст вам это:

Hosted by imgur.com

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

+1

Очень приятно, спасибо. Вы знаете, можно ли каким-то образом подделать ключ ALT на виртуальной клавиатуре? Могу ли я указать кнопку HOME как ALT? – Bostone

+1

Без проблем ... это было что-то, с чем я имел в виду играть :) Я не думаю, что вы можете имитировать Alt-ключ, но опять-таки я ошибаюсь. Следует отметить, что можно реализовать свою собственную клавиатуру (более или менее) с нуля. У них есть пример: http://developer.android.com/guide/samples/SoftKeyboard/index.html –

+1

Поймите. Хотя реализация полной пользовательской клавиатуры, возможно, слишком много для моего скромного приложения :) – Bostone

1

Вещь, которая касается меня, заключается в том, что «inputType» указан как устаревшее свойство, то есть он может работать некоторое время, но, в конце концов, Android перестанет его поддерживать. Есть ли другая альтернатива?

ОБНОВЛЕНО: Мое плохое - я смущаюсь с inputMethod.

Смежные вопросы