如何防止软键盘出现触摸

时间:2016-04-08 04:33:28

标签: android keyboard android-edittext

我不希望在触摸特定的EditText时出现软键盘。但我仍然希望能够根据用户请求显示软键盘(例如,按下按钮时)并允许用户编辑文本。 我知道如何显示/隐藏软键盘,我只是不知道如何防止它出现在触摸上。 有什么建议吗?

一般的想法是,用户将主要处理文本中的选择/位置,并且仅偶尔输入字符。 在选择或导航文本时,我不希望软键盘减少可见数量的文本。

6 个答案:

答案 0 :(得分:3)

只需使用

 txtEdit.setShowSoftInputOnFocus(false);

当你想启用它时,反转上面的过程

答案 1 :(得分:1)

这有效:

editText.setShowSoftInputOnFocus(false);

答案 2 :(得分:0)

在清单中的活动内添加以下代码
     android:windowSoftInputMode =“adjustPan”

答案 3 :(得分:0)

AndroidManifest.xml windowSoftInputMode

 <activity android:name=".MyActivity" android:windowSoftInputMode="adjustPan"> </activity>

答案 4 :(得分:0)

尝试下面的代码,它会隐藏键盘:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN)

答案 5 :(得分:0)

为什么不禁用edittext。然后它不会在点击时显示键盘。你可以:

android:editable="false" //from xml
et.setEnabled(false);  //from activity

然后在你的按钮上单击以使代码为true使其启用。并使您的键盘出现。

此外,如果您没有关注edittext,您可以:

et.requestFocus(); // from activity

<EditText
    android:id="@+id/et1"
    android:editable="false"
    android:layout_width="150dp"
    android:layout_height="wrap_content" >
    <requestFocus/>
</EditText> 

//来自xml

希望这有帮助!