У меня есть пользовательское диалоговое окно, содержащее EditText. Теперь, когда я показываю диалог с помощью Dialog.show();
, EditText сразу же захватывает фокус и отображает Soft-Keyboard. Я попытался добавить это к манифесту:Android Hide Soft-Keyboard on Dialog с EditText
android:windowSoftInputMode="stateHidden"
На основании этого ответа: https://stackoverflow.com/a/2611031/3011902
Я также попытался следующие на EditText:
EditText.setSelected(false);
И:
LinearLayout hidden = (LinearLayout) loginDialog.findViewById(R.id.hidden);
hidden.setVisibility(View.INVISIBLE);
hidden.setFocusable(true);
hidden.requestFocus();
loginDialog.show();
Я также попытался вручную скрыть клавиатуру сразу после отображения диалогового окна, но это бит незаконным. Есть ли простой способ отображать только клавиатуру, когда выбран EditText диалогового окна.
Я сделал вид и установил его видимость, чтобы уйти. А затем установите для него Focus. Тем не менее, клавиатура по-прежнему отображается при каждом открытии диалога. – TastyLemons
Я предполагаю, что вместо того, чтобы убирать видимость, вы можете установить ширину и высоту в 0dp или 1dp, а затем установить видимость на невидимую, потому что если вы установите ее на Gone, она действительно исчезнет из макета, поэтому она не поймает фокус –
Какой тип является невидимым? Потому что, если это EditText, он все равно будет показывать Клавиатуру. – TastyLemons