我的应用程序有一个 EditText,当我单击它在模拟器中输入文本时,会弹出一个软键盘。本来不想这乱七八糟的东西,后来就跟来访的大嘴大叔一样,穿着格子裤,不想走,挡住了下面的扣子。我如何(a)以编程方式防止软键盘出现或至少(b)在弹出时手动将其逐出?
4 回答
2
假设用户不应该输入文本,但能够单击EditText
然后以其他方式添加文本,您可以将 更改EditText
为 aTextView
然后在布局文件中对其应用以下三个标签:
style="@android:style/Widget.EditText"
android:editable="false"
android:focusableInTouchMode="false"
这将使它看起来像一个EditText
,但行为像一个TextView
。
由于您希望用户能够在其中写东西,EditText
因此我认为有两种解决方案:
- 就这样吧。要移除键盘,您只需按一次后退按钮,每个 Android 用户都知道这一点。这是标准行为。
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 回答