如何防止软键盘显示,或者至少在它出现之后将其驱逐出去?

时间:2011-12-16 12:18:14

标签: android android-emulator android-edittext android-softkeyboard android-gui

我的应用程序有一个EditText,当我单击它以在模拟器中输入文本时,会弹出一个软键盘。我不希望这个混乱的东西开始,但是,然后,就像在格子裤中访问大声的叔叔,不想离开,它阻止它下面的按钮。我如何(a)以prorgrammatically方式阻止软键盘出现,或者至少(b)在弹出时手动弹出它?

4 个答案:

答案 0 :(得分:2)

如果用户不应输入文字,但能够点击EditText,然后以其他方式添加文字,则可以将EditText更改为TextView然后在布局文件中将以下三个标记应用于它:

style="@android:style/Widget.EditText"
android:editable="false"  
android:focusableInTouchMode="false"

这会使它看起来像EditText,但表现得像TextView


由于您希望用户能够在EditText中编写内容,因此我认为有两种解决方案:

  1. 留下吧。要删除键盘,您只需按一下后退按钮,每个Android用户都知道这一点。这是标准行为。
  2. Button中的所有内容包裹在ScrollView中。然后,ScrollView会将其内容换行,以允许Button显示在键盘和ScrollView之间。

答案 1 :(得分:1)

答案是将焦点设置在其他视图上,如Button,TextView或类似的:

// REQUEST FOCUS
viewName.setFocusableInTouchMode(true);
viewName.requestFocus();

答案 2 :(得分:1)

为EditText设置android:editable =“false”

答案 3 :(得分:1)

我认为您真正需要的是查看android:windowSoftInputMode中的Manifest.xml属性。查看此link

您可以指定要平移/调整大小的屏幕以显示输入法可能阻止的按钮。不允许键盘显示将使用户根本无法输入文本!