Можно ли показать клавиатуру на определенном языке?

Предположим, что у меня есть два текстовых поля с одинаковой раскладкой, например (Адрес), первый ввод требует, чтобы адрес был на английском языке, а клавиатура должна отображаться на английском по умолчанию, второй ввод требует, чтобы адрес был на арабском языке.

Мой вопрос: могу ли я показать клавиатуру с определенным языком, когда это необходимо, например, арабский адрес.

Есть ли что-то вроде android:inputType"" для языка?

2 ответа

Да, вы можете сделать это, объявив свое приложение как Системное приложение, применив следующее разрешение:

<uses-permission android:name="android.permission.WRITE_SETTINGS" />

Получить текущий идентификатор языка ввода клавиатуры из следующих

Settings.Secure.getString(getContentResolver(),Settings.Secure.DEFAULT_INPUT_METHOD)

Затем вам нужно явно установить ваш ввод с клавиатуры на нужный язык, используя следующий код:

InputMethodManager imeManager = (InputMethodManager) getApplicationContext().getSystemService(INPUT_METHOD_SERVICE);
//imeManager.showInputMethodPicker(); //This is to see available keyboards.
imeManager.setInputMethod(null,"jp.co.omronsoft.openwnn/.OpenWnnJAJP");

У вас есть много работы о том, как это сделать, то есть создать собственную клавиатуру, и для этого вам нужно будет знать, какие клавиатуры вы ищете. (который будет точной копией обычной клавиатуры)

Здесь вы можете получить образцы здесь и примеры кода.

Как сделать пользовательскую клавиатуру Android?

Перейдите по этой ссылке для создания пользовательской клавиатуры И, наконец,

EditText editText = (EditText) findViewById(R.id.editText);
MyKeyboard keyboard = (MyKeyboard) findViewById(R.id.keyboard);

// prevent system keyboard from appearing when EditText is tapped
editText.setRawInputType(InputType.TYPE_CLASS_TEXT);
editText.setTextIsSelectable(true);

// pass the InputConnection from the EditText to the keyboard
InputConnection ic = editText.onCreateInputConnection(new EditorInfo());
    keyboard.setInputConnection(ic);
Другие вопросы по тегам