Клавиатура появляется автоматически при запуске приложения? - PullRequest
0 голосов
/ 06 июля 2019

В моей MainActivity я добавил EditText. Когда пользователь открывает приложение, клавиатура автоматически появляется, чтобы позволить пользователю печатать текст, но мое приложение показывает рекламу в onCreate (), поэтому я хочу отключить это автоматическое событие, возможно ли это?

Ответы [ 3 ]

0 голосов
/ 06 июля 2019

В AndroidManifest.xml вы можете использовать следующие настройки:

<activity android:name="com.your.package.ActivityName" 
        android:windowSoftInputMode="stateHidden"  />

Вы также можете попробовать:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

Более подробную информацию можно найти по этой ссылке .

0 голосов
/ 06 июля 2019

Да, это возможно, у вас есть два варианта для достижения этой цели.

Вариант 1: Добавление кода ниже в ваш макет - XML-файл

android:focusable="true"
android:focusableInTouchMode="true"

Вариант 2:

Добавление приведенного ниже кода в файл манифеста

android:windowSoftInputMode="stateAlwaysHidden"

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

0 голосов
/ 06 июля 2019

Используйте эти функции, чтобы показать / скрыть клавиатуру:

Скрывает программную клавиатуру

public void hideSoftKeyboard() {
    if(getCurrentFocus()!=null) {
        InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
        inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
    }
}

Показывает программную клавиатуру

public void showSoftKeyboard(View view) {
    InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
    view.requestFocus();
    inputMethodManager.showSoftInput(view, 0);
}

Или вы можете установить windowSoftInputMode: stateHidden

    <activity
    ... 
    android:windowSoftInputMode="stateHidden">
...