为整个应用禁用键盘(Android)

时间:2015-12-29 11:13:06

标签: android webview keyboard

我使用的是webView(全屏),需要时有自己的键盘。 我想每次都禁用Android键盘弹出。

我已尝试使用hideSoftInputFromInputMethod(getCurrentFocus().getWindowToken(), 0);执行此操作,但它无效。 android:windowSoftInputMode="stateAlwaysHidden"getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

5 个答案:

答案 0 :(得分:0)

您必须为清单文件中的每个活动添加android:windowSoftInputMode="stateAlwaysHidden"。像这个例子

    <activity
        android:name=".MainActivity"
        android:windowSoftInputMode="stateAlwaysHidden" />

答案 1 :(得分:0)

使用以下功能并在webview的onTouch()中调用它:

public static void hideSoftKeyboard(Activity activity) {
    try {
        InputMethodManager inputMethodManager = (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE);
        inputMethodManager.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), 0);
    } catch (Exception e) {
        e.printStackTrace();
    }

}

答案 2 :(得分:0)

layout.xml

的主(父)布局中添加以下代码
android:descendantFocusability="blocksDescendants"

希望它会奏效。并在webview中设置以下属性

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



See it:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:descendantFocusability="blocksDescendants"
    android:paddingBottom="@dimen/activity_vertical_margin"     tools:context=".MainActivityFragment">

    <WebView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:focusable="false"
        android:focusableInTouchMode="false">
    </WebView>
</RelativeLayout>

答案 3 :(得分:0)

<ImageButton
    android:id="@+id/ib1"
    android:layout_width="wrap_content"
    android:src="@drawable/ic_dialog_email"
    android:layout_height="wrap_content" />

<ImageButton
    android:layout_width="wrap_content"
    android:src="@drawable/ic_dialog_alert"
    android:layout_height="wrap_content" />

<ImageButton
    android:layout_width="wrap_content"
    android:src="@drawable/ic_dialog_info"
    android:layout_height="wrap_content" />

<ImageButton
    android:layout_width="wrap_content"
    android:src="@drawable/ic_dialog_map"
    android:layout_height="wrap_content" />

<ImageButton
    android:layout_width="wrap_content"
    android:src="@drawable/ic_dialog_dialer"
    android:layout_height="wrap_content" />

答案 4 :(得分:0)

试试这个:

<activity          
            android:configChanges="keyboard|keyboardHidden"
            android:windowSoftInputMode="stateAlwaysHidden">