我正在为Android手机编写一个应用程序,在我的启动画面之后,它显示了一个包含多个微调器和编辑文本视图的活动。
在没有键盘的Android设备上,它显示虚拟键盘,然后阻止应用程序的其余部分,看起来不专业。我试图在activity.onCreate方法中隐藏虚拟键盘但是没有用。
我尝试的下一个选项是将onFocus监听器设置为实际违规的edittext视图,但仍然无济于事。
在用户明确点击edittext视图之前,如何阻止虚拟键盘显示?是否有一种方法可以给出一个微调器的焦点,因为其中一个微调器位于布局xml中的edittext视图之前?
答案 0 :(得分:34)
您可以尝试在AndroidManifest.xml文件中设置Activity的条目的android:windowSoftInputMode
属性。我认为将它设置为stateHidden
可能会做你想要的。
答案 1 :(得分:8)
你可以试试这个:
创建活动,将输入类型设置为TYPE_NULL。然后,onTouch,将其设置为TYPE_CLASS_TEXT。
myText.setInputType(InputType.TYPE_NULL);
myText.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
myText.setInputType(InputType.TYPE_CLASS_TEXT);
myText.onTouchEvent(event); // call native handler
return true; // consume touch even
}
});
答案 2 :(得分:0)