我的应用程序有一个EditText,当我单击它以在模拟器中输入文本时,会弹出一个软键盘。我不希望这个混乱的东西开始,但是,然后,就像在格子裤中访问大声的叔叔,不想离开,它阻止它下面的按钮。我如何(a)以prorgrammatically方式阻止软键盘出现,或者至少(b)在弹出时手动弹出它?
答案 0 :(得分:2)
如果用户不应输入文字,但能够点击EditText
,然后以其他方式添加文字,则可以将EditText
更改为TextView
然后在布局文件中将以下三个标记应用于它:
style="@android:style/Widget.EditText"
android:editable="false"
android:focusableInTouchMode="false"
这会使它看起来像EditText
,但表现得像TextView
。
由于您希望用户能够在EditText
中编写内容,因此我认为有两种解决方案:
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。
您可以指定要平移/调整大小的屏幕以显示输入法可能阻止的按钮。不允许键盘显示将使用户根本无法输入文本!