Android App以虚拟键盘打开开始

时间:2010-07-31 18:48:29

标签: android

我正在为Android手机编写一个应用程序,在我的启动画面之后,它显示了一个包含多个微调器和编辑文本视图的活动。

在没有键盘的Android设备上,它显示虚拟键盘,然后阻止应用程序的其余部分,看起来不专业。我试图在activity.onCreate方法中隐藏虚拟键盘但是没有用。

我尝试的下一个选项是将onFocus监听器设置为实际违规的edittext视图,但仍然无济于事。

在用户明确点击edittext视图之前,如何阻止虚拟键盘显示?是否有一种方法可以给出一个微调器的焦点,因为其中一个微调器位于布局xml中的edittext视图之前?

3 个答案:

答案 0 :(得分:34)

您可以尝试在AndroidManifest.xml文件中设置Activity的条目的android:windowSoftInputMode属性。我认为将它设置为stateHidden可能会做你想要的。

这是 docs from the Android site.

答案 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)

在线程Automatic popping up keyboard on start Activity

中,有关此问题的其他经验还有几个答案