有人可以解释如何使用 TYPE_INPUT_METHOD_DIALOG 吗?

发布于 2024-12-15 05:43:05 字数 230 浏览 0 评论 0原文

我想在按下软键盘的某个键时创建一个简单的对话框(例如 EditText 和一个按钮)。

WindowManager.LayoutParams

I want to create a simple dialog box (e.g. EditText and a button) when I press a key of the softkeyboard.

WindowManager.LayoutParams

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

暮色兮凉城 2024-12-22 05:43:05

如果你想创建一个对话框,你根本不必使用WindowManager。 Android 开发人员有一篇有关使用对话框的文章TYPE_INPUT_METHOD_DIALOG,顾名思义,用于输入法(例如屏幕键盘)。

If you want to create a dialog, you don't have to use WindowManager at all. Android developers have an article on working with dialogs. TYPE_INPUT_METHOD_DIALOG, as the name suggests, is used for input methods (e.g. on-screen keyboards).

脱离于你 2024-12-22 05:43:05

根据 hackbod(首席 Android 开发人员),您不需要 TYPE_INPUT_METHOD_DIALOG。您需要TYPE_APPLICATION_PANEL。这段代码应该可以工作。 myInputMethodView 应该是当前显示在主输入法窗口中的任何视图。

final Dialog d = new Dialog(context);
final Window w = d.getWindow();
final WindowManager.LayoutParams attrs = w.getAttributes();
attrs.type = TYPE_APPLICATION_PANEL;
attrs.token = myInputMethodView.getWindowToken();
w.setAttributes(attrs);
d.show();

Per hackbod (chief Android developer), you don't want TYPE_INPUT_METHOD_DIALOG. You want TYPE_APPLICATION_PANEL. This code should work. myInputMethodView should be any view currently displayed in your main input method window.

final Dialog d = new Dialog(context);
final Window w = d.getWindow();
final WindowManager.LayoutParams attrs = w.getAttributes();
attrs.type = TYPE_APPLICATION_PANEL;
attrs.token = myInputMethodView.getWindowToken();
w.setAttributes(attrs);
d.show();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文