2

我的应用程序有一个 EditText,当我单击它在模拟器中输入文本时,会弹出一个软键盘。本来不想这乱七八糟的东西,后来就跟来访的大嘴大叔一样,穿着格子裤,不想走,挡住了下面的扣子。我如何(a)以编程方式防止软键盘出现或至少(b)在弹出时手动将其逐出?

4

4 回答 4

2

假设用户不应该输入文本,但能够单击EditText然后以其他方式添加文本,您可以将 更改EditText为 aTextView然后在布局文件中对其应用以下三个标签:

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

这将使它看起来像一个EditText,但行为像一个TextView


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

  1. 就这样吧。要移除键盘,您只需按一次后退按钮,每个 Android 用户都知道这一点。这是标准行为。
  2. Button将除您所说的所有内容都包装在ScrollView. 然后ScrollView将包装其内容以允许Button在键盘和ScrollView.
于 2011-12-16T12:26:51.670 回答
1

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

// REQUEST FOCUS
viewName.setFocusableInTouchMode(true);
viewName.requestFocus();
于 2011-12-16T12:22:05.720 回答
1

只需为您的 EditText 设置 android:editable="false"

于 2011-12-16T12:22:05.497 回答
1

我认为您真正需要的是 查看 Look into this linkandroid:windowSoftInputMode中的属性。Manifest.xml

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

于 2011-12-16T12:36:07.760 回答