问题标签 [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.
android - android:windowSoftInputMode="adjustResize" 没有任何区别?
我有一个使用这种布局的人造对话框:
<FrameLayout>
我根据正在打开的对话框放置一个片段- 控制对话框的活动如下所示:
不幸的是,当您单击对话框内的编辑文本时,不会调整大小。windowSoftInputMode
字面上没有区别,因为功能与平移模式相同。
文档说“这当然只适用于具有可调整大小的区域的应用程序,可以缩小以腾出足够的空间”,但没有告诉你“可调整大小的区域”是什么意思,让我觉得在某种程度上我不知道t有一个可调整大小的区域?
如果有人知道发生了什么,他们可以帮助我吗?
编辑
像这样围绕对话框不会改变任何东西:
编辑2
Scrollview 作为父级也无济于事:
android - 从输入法服务中隐藏软键盘
我试图从 InputMethodService 中隐藏我的软键盘,但它不起作用。这是我在 onFinishInput() 方法中使用的代码:
有任何想法吗?
android - 关闭自定义键盘时出现奇怪的 Logcat 输出
我有一个自定义键盘应用程序,当我按下后退按钮退出它时,我得到这个 LogCat 输出的时间大约是 1/4:
有没有人遇到过这个?
这是我覆盖后退按钮时的代码
android - 弹出窗口关闭服务
我试图在 中显示 a PopupWindow
,InputMethodService
但是当我使用以下代码显示它时:
在关闭我的InputMethodService
.
我从 LogCat 得到的错误是这样的:
有没有人见过这个或知道如何处理它?
android - 将触摸屏事件发送到前台活动(仅来自 APK)
我正在尝试从具有系统权限的应用程序(标准上传,未植根)向前台应用程序发送触摸事件(点击和动作)
我能够直接从 linux shell 运行 shell 脚本来模拟输入,但不能从我的应用程序中运行:
Runtime.getRuntime().exec(cmd)
返回
cannot open /dev/input/event1, permission denied
如果cmd
issh /path/script-emulating-events
或会发生这种情况sendevent /dev/input/event1 xxxx x x
。
由于应用程序具有用于共享用户 ID 的 android.uid.system,因此它不应该是 android 权限问题。
任何想法?
android - 我可以覆盖 Android 输入法处理自动完成和自动更正的方式吗?
我正在制作自己的文本编辑器,并且我希望段落之间总是有额外的空间,所以我覆盖了 EditText 的 OnKeyListener 以便在按下 Enter 时将两个换行符插入到文本中,并且当光标位于时按下 Backspace在段落的开头,两个字符被删除而不是一个。
看起来很简单,但我的问题是,如果输入法(即键盘)在按下 Enter 并按下 Backspace 时刚刚完成编辑一个单词,它将尝试通过用带下划线的自动替换该单词来处理 Backspace。自身的可纠正版本(用自身覆盖单词)。但是,由于额外的换行符,光标已经向前移动了两个字符,而输入法不知道这一点,所以当它覆盖时,它会关闭一个字符。
抱歉,如果这令人困惑;这是一个错误示例(垂直条标记光标所在的位置):
在空行上写一个字
/li>点击回车,出现一个新行
/li>按删除
/li>
到目前为止我为修复该错误所做的尝试:
使用 OnKeyListener 正确处理退格。不幸的是,OnKeyListener 只在输入法完成它的事情后才获得关键事件。
使用 TextWatcher 撤消输入法所做的操作。不幸的是,TextWatcher 无法知道是否按下了 Backspace,或者它看到的文本是否是其他内容的结果。
放弃按 Enter 时自动添加额外换行符的整个想法。不幸的是,似乎没有任何其他方法可以在段落之后添加额外的空格。据我所知,TextView 的跨度只能为段落添加水平边距,但不能为垂直边距添加。
所以我认为我最好的选择是在输入法得到它之前抓住退格键(顺便说一下,OnKeyPreIme 也不起作用)。我宁愿不必完全编写自己的 IME,并且我想让用户选择使用他们喜欢的任何 IME 进行输入,但如果我必须将自定义 IME 与文本编辑器捆绑在一起,那就这样吧。即便如此,关于自动更正如何工作以及在何处实现的文档很少,我什至不知道从哪里开始。
任何帮助将非常感激; 提前致谢!
java - 聚焦edittext时如何显示软键盘
我知道他们有 100 篇关于这个的帖子,但不知何故它对我不起作用。我有一个 EditText,当我“触摸”那个框时,键盘必须出现。
这是我已经尝试过的一切:
和
和
和
我什至尝试在清单中添加它:
但我无法让它工作。可能我忘记了什么,但我现在没有想法。有人有更多想法或解决方案吗?
这是我的编辑文本:
android - Android:如何更改 KeyboardView 的文本大小?
我为我的应用程序制作了一个自定义键盘,我想更改键的文本大小。
有什么办法可以存档吗?可能正在使用主题或任何其他方式?
android - java.lang.SecurityException:未经许可 android.permission.BIND_INPUT_METHOD 仅适用于 <=2.2
我有这个非常不寻常的例外。问题是我有这个应用程序有一个按钮来启动
像这样开始
这就是它在清单中的样子。
这就是我开始服务的方式
当我在平板电脑(Moto XOOM,它的 3.2)上执行此操作时,整个设置就像一个魅力,但是当我在运行 2.2 和 2.1 的设备上执行此操作时(我还没有在 2.3 上尝试过,也无法使用模拟器)这就是我得到
我确实了解安全问题,但不应该对所有设备都相同,或者我是否缺少特定于版本 <3.2 的内容
android - Android:用于操作栏中可折叠操作视图的自定义键盘?
我在我的操作栏中添加了一个自定义 ActionView,它旨在允许用户通过输入数字来查找内容。但是,即使我指定了数字的 imeType,我用于布局的 EditText 总是会显示一个完整的字母数字键盘。我不想要字母数字键盘。哎呀,我什至不想要 +/- 类型选项。只有0-9和“完成”。如何让我的 EditText 使用自定义键盘进行搜索?有没有办法做一个下拉键盘?我希望仅为该字段编写自定义 IME,但似乎不允许这样做。
菜单的 XML:
动作布局的 XML:
用于设置操作栏菜单的 Java:
java末尾的注释掉的代码是试图强制键盘立即显示,但这会导致一些奇怪的行为——弹出非数字键盘。