在android中单击edittext时如何阻止虚拟键盘?

新手上路,请多包涵

如何阻止 virtual keyboard 同时点击android中的edittext

原文由 deepthi 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 260
2 个回答

是一个可以为您提供所需信息的网站。

作为总结,它提供了来自 Android 开发人员的指向 InputMethodManagerView 的链接。它将 InputMethodManager getWindowToken View hideSoftInputFromWindow()

链接中给出了更好的答案,希望这会有所帮助。

编辑

从上面发布的链接中,这是一个使用 onTouch 事件的示例:

 editText.setOnTouchListener(otl);

private OnTouchListener otl = new OnTouchListener() {
    public boolean onTouch (View v, MotionEvent event) {
        return true; // the listener has consumed the event
    }
};

这是来自同一网站的另一个示例。这声称有效,但似乎是个坏主意,因为您的 EditBoxNULL 它将不再是编辑器:

 myEditor.setOnTouchListener(new OnTouchListener(){
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        int inType = myEditor.getInputType(); // backup the input type
        myEditor.setInputType(InputType.TYPE_NULL); // disable soft input
        myEditor.onTouchEvent(event); // call native handler
        myEditor.setInputType(inType); // restore input type
        return true; // consume touch event
    }
});

希望这能为您指明正确的方向!

原文由 Anthony Forloney 发布,翻译遵循 CC BY-SA 4.0 许可协议

一种更简单的方法是将 EditText 的可聚焦属性设置为 false

在您的 xml 布局中:

 <EditText
    ...
    android:focusable="false" />

原文由 Symfony Dev 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题