Intereting Posts
ActionbarSherlock: скрыть панель действий при отображении вкладок Получение Невозможно создать обработчик внутри потока, который не вызвал Looper.prepare () с кодом, который работал на Android 4 Mono для Android: какие тестовые рамки работают Есть простой способ конвертировать приложение Android в IPad, IPhone Как получить данные из нескольких таблиц / классов Parse.com Listview внутри listview и проблема с высотой вложенного списка Почему Wifi включен, но не связан с ней. Расположение сети при использовании LocationManager? Как вызвать удаленный API с помощью Phonegap для Android? «Android Asset Studio» добавляет дополнительное пространство, когда я загружаю свои значки .png, но не использует его внутренние клики. Зачем? Получить широту и долготу с помощью геокодера и андроида Google Maps API v2 Библиотека сторонних разработчиков FloatingActionButton в CoordinatorLayout Ubuntu: отладка устройства Android Как расширить класс ORMLite BaseDaoImpl на Android для расширения функциональности Как работает 9patch png в приложениях для Android Использование API документов Google для OCR в android

Android: Как сделать клавиатуру всегда видимой?

В android, как мы делаем клавиатуру устройства всегда видимой в приложении? Верхняя часть отображает содержимое, которое приложение хочет отобразить, а нижняя часть отображает клавиатуру всегда.

Добавьте android: windowSoftInputMode = "stateAlwaysVisible" к вашей деятельности в файле AndroidManifest.xml:

<activity android:name=".MainActivity" android:label="@string/app_name" android:windowSoftInputMode="stateAlwaysVisible" /> 

В моем тестовом приложении это показывает клавиатуру при запуске приложения, хотя она не исправлена, но может быть уволена, нажав кнопку «Назад».

Чтобы убедиться, что клавиатура всегда виден, вам, возможно, придется создать свою собственную клавиатуру как часть пользовательского интерфейса вашего приложения. Вот учебник, показывающий вам, как это сделать с помощью KeyboardView: http://www.fampennings.nl/maarten/android/09keyboard/index.htm

Вы должны иметь EditText в своем макете, и для этого необходимо EditText базовый класс EditText . Затем переопределите onKeyPreIme() и верните True . Теперь ваша клавиатура будет всегда видна и не может быть отменена клавишей Back.

Внимание : из-за того, что ваш onKeyPreIme() возвращает true вы не можете выйти из приложения с помощью обратного ключа.

Пример:

 public class CustomEdit extends EditText { public CustomEdit(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub } @Override public boolean onKeyPreIme(int keyCode, KeyEvent event) { // TODO Auto-generated method stub Log.e("Log", "onKeyPreIme"); return true; //return super.onKeyPreIme(keyCode, event); } } 

OnKeyPreIme () – разработчик Android

Я нашел способ, который работает для меня, чтобы сохранить мягкую клавиатуру видимой после редактирования в моем поле myEditText класса EditText . Трюк состоит в том, чтобы переопределить метод onEditorAction чтобы он возвращал true

  myEditText.setOnEditorActionListener(new OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { return true; } }); 

Или иначе onEditorAction возвращает true только после нажатия клавиши «Готово» ( IME_ACTION_DONE ), иначе false

  myEditText.setOnEditorActionListener(new OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if(actionId==EditorInfo.IME_ACTION_DONE){ Log.i(LOG_TAG, "IME_ACTION_DONE"); return true; } return false; } }); 

(См. Также этот ответ по методу onEditorAction )

Добавление android:windowSoftInputMode="stateAlwaysVisible к файлу манифеста помогло android:windowSoftInputMode="stateAlwaysVisible мягкую клавиатуру при запуске деятельности, но это не помешало ей снова исчезнуть всякий раз, когда после нажатия android:windowSoftInputMode="stateAlwaysVisible « Готово »была нажата кнопка« Готово ».