问题标签 [android-input-method]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
9 回答
43408 浏览

android - android:windowSoftInputMode="adjustResize" 没有任何区别?

我有一个使用这种布局的人造对话框:

<FrameLayout>我根据正在打开的对话框放置一个片段- 控制对话框的活动如下所示:

不幸的是,当您单击对话框内的编辑文本时,不会调整大小。windowSoftInputMode字面上没有区别,因为功能与平移模式相同。

文档说“这当然只适用于具有可调整大小的区域的应用程序,可以缩小以腾出足够的空间”,但没有告诉你“可调整大小的区域”是什么意思,让我觉得在某种程度上我不知道t有一个可调整大小的区域?

如果有人知道发生了什么,他们可以帮助我吗?

编辑

像这样围绕对话框不会改变任何东西:

编辑2

Scrollview 作为父级也无济于事:

0 投票
2 回答
3139 浏览

android - 从输入法服务中隐藏软键盘

我试图从 InputMethodService 中隐藏我的软键盘,但它不起作用。这是我在 onFinishInput() 方法中使用的代码:

有任何想法吗?

0 投票
2 回答
883 浏览

android - 关闭自定义键盘时出现奇怪的 Logcat 输出

我有一个自定义键盘应用程序,当我按下后退按钮退出它时,我得到这个 LogCat 输出的时间大约是 1/4:

有没有人遇到过这个?

这是我覆盖后退按钮时的代码

0 投票
1 回答
1090 浏览

android - 弹出窗口关闭服务

我试图在 中显示 a PopupWindowInputMethodService但是当我使用以下代码显示它时:

在关闭我的InputMethodService.

我从 LogCat 得到的错误是这样的:

有没有人见过这个或知道如何处理它?

0 投票
2 回答
1913 浏览

android - 将触摸屏事件发送到前台活动(仅来自 APK)

我正在尝试从具有系统权限的应用程序(标准上传,未植根)向前台应用程序发送触摸事件(点击和动作)

我能够直接从 linux shell 运行 shell 脚本来模拟输入,但不能从我的应用程序中运行:

Runtime.getRuntime().exec(cmd)

返回

cannot open /dev/input/event1, permission denied

如果cmdissh /path/script-emulating-events或会发生这种情况sendevent /dev/input/event1 xxxx x x

由于应用程序具有用于共享用户 ID 的 android.uid.system,因此它不应该是 android 权限问题。

任何想法?

0 投票
1 回答
962 浏览

android - 我可以覆盖 Android 输入法处理自动完成和自动更正的方式吗?

我正在制作自己的文本编辑器,并且我希望段落之间总是有额外的空间,所以我覆盖了 EditText 的 OnKeyListener 以便在按下 Enter 时将两个换行符插入到文本中,并且当光标位于时按下 Backspace在段落的开头,两个字符被删除而不是一个。

看起来很简单,但我的问题是,如果输入法(即键盘)在按下 Enter 并按下 Backspace 时刚刚完成编辑一个单词,它将尝试通过用带下划线的自动替换该单词来处理 Backspace。自身的可纠正版本(用自身覆盖单词)。但是,由于额外的换行符,光标已经向前移动了两个字符,而输入法不知道这一点,所以当它覆盖时,它会关闭一个字符。

抱歉,如果这令人困惑;这是一个错误示例(垂直条标记光标所在的位置):

  1. 在空行上写一个字

    /li>
  2. 点击回车,出现一个新行

    /li>
  3. 按删除

    /li>

到目前为止我为修复该错误所做的尝试:

  1. 使用 OnKeyListener 正确处理退格。不幸的是,OnKeyListener 只在输入法完成它的事情后才获得关键事件。

  2. 使用 TextWatcher 撤消输入法所做的操作。不幸的是,TextWatcher 无法知道是否按下了 Backspace,或者它看到的文本是否是其他内容的结果。

  3. 放弃按 Enter 时自动添加额外换行符的整个想法。不幸的是,似乎没有任何其他方法可以在段落之后添加额外的空格。据我所知,TextView 的跨度只能为段落添加水平边距,但不能为垂直边距添加。

所以我认为我最好的选择是在输入法得到它之前抓住退格键(顺便说一下,OnKeyPreIme 也不起作用)。我宁愿不必完全编写自己的 IME,并且我想让用户选择使用他们喜欢的任何 IME 进行输入,但如果我必须将自定义 IME 与文本编辑器捆绑在一起,那就这样吧。即便如此,关于自动更正如何工作以及在何处实现的文档很少,我什至不知道从哪里开始。

任何帮助将非常感激; 提前致谢!

0 投票
1 回答
4642 浏览

java - 聚焦edittext时如何显示软键盘

我知道他们有 100 篇关于这个的帖子,但不知何故它对我不起作用。我有一个 EditText,当我“触摸”那个框时,键盘必须出现。

这是我已经尝试过的一切:

我什至尝试在清单中添加它:

但我无法让它工作。可能我忘记了什么,但我现在没有想法。有人有更多想法或解决方案吗?

这是我的编辑文本:

0 投票
1 回答
1688 浏览

android - Android:如何更改 KeyboardView 的文本大小?

我为我的应用程序制作了一个自定义键盘,我想更改键的文本大小。

有什么办法可以存档吗?可能正在使用主题或任何其他方式?

0 投票
2 回答
1410 浏览

android - java.lang.SecurityException:未经许可 android.permission.BIND_INPUT_METHOD 仅适用于 <=2.2

我有这个非常不寻常的例外。问题是我有这个应用程序有一个按钮来启动

像这样开始

这就是它在清单中的样子。

这就是我开始服务的方式

当我在平板电脑(Moto XOOM,它的 3.2)上执行此操作时,整个设置就像一个魅力,但是当我在运行 2.2 和 2.1 的设备上执行此操作时(我还没有在 2.3 上尝试过,也无法使用模拟器)这就是我得到

我确实了解安全问题,但不应该对所有设备都相同,或者我是否缺少特定于版本 <3.2 的内容

0 投票
1 回答
1298 浏览

android - Android:用于操作栏中可折叠操作视图的自定义键盘?

我在我的操作栏中添加了一个自定义 ActionView,它旨在允许用户通过输入数字来查找内容。但是,即使我指定了数字的 imeType,我用于布局的 EditText 总是会显示一个完整的字母数字键盘。我不想要字母数字键盘。哎呀,我什至不想要 +/- 类型选项。只有0-9和“完成”。如何让我的 EditText 使用自定义键盘进行搜索?有没有办法做一个下拉键盘?我希望仅为该字段编写自定义 IME,但似乎不允许这样做。

菜单的 XML:

动作布局的 XML:

用于设置操作栏菜单的 Java:

java末尾的注释掉的代码是试图强制键盘立即显示,但这会导致一些奇怪的行为——弹出非数字键盘。