以编程方式为我的应用禁用键盘

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以编程方式为我的应用禁用键盘相关的知识,希望对你有一定的参考价值。

我想为我的整个应用程序禁用键盘,即键盘不得出现在我的应用程序的任何阶段,我的应用程序包含WebView,我正在加载的是输入字段,此时我不想要android的键盘,因为页面本身包含单击输入字段时打开的键盘。我所知道的是

InputMethodManager inputManager = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);     
inputManager.hideSoftInputFromWindow(getActivity().getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);

但是当我点击edittext键盘时,使用此代码打开。

答案

添加focusable:false到你的xml代码(EditText),它将完成这项工作

另一答案

如下所示禁用above API 11

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { // API 21
    editText.setShowSoftInputOnFocus(false);
} else { // API 11-20
    editText.setTextIsSelectable(true);
}
另一答案

试试这个,

创建自己的类,扩展EditText并覆盖onCheckIsTextEditor()

public class CustomEditText extends EditText {
    public NoImeEditText(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
    @Override
    public boolean onCheckIsTextEditor() {
        return false;
    }
}

在布局XML中,使用对自定义控件的完全限定引用,而不是EditText:

<com.yourpackge.path.CustomEditText
              ........
    enter code here

           .....................
/> 

它将禁用所有EditText的软键盘焦点。

另一答案

在qazxsw poi把这一行放在qazxsw poi qazxsw poi中

像这样

androidManifest.xml

并在每个activity android:windowSoftInputMode="stateAlwaysHidden"使用如下

<activity
     android:name="com.app.thumbpin.activity.HomeActivity"
     android:windowSoftInputMode="stateAlwaysHidden" />

参数隐藏键盘

EditText

在xml中:

在根布局标签中写android:focusable="false"

以上是关于以编程方式为我的应用禁用键盘的主要内容,如果未能解决你的问题,请参考以下文章

根据活动(即可见)片段以编程方式启用或禁用按钮

iOS 在 UIWebBrowserView 上以编程方式禁用 Quicktype 键盘

在 UITextView 上以编程方式禁用 iOS8 Quicktype 键盘

以编程方式在android中的软输入键盘上禁用语音到文本按钮(麦克风)

我可以为我的应用禁用自定义键盘 (iOS8) 吗?

如何在后按时以编程方式关闭 SearchView?在片段中