问题标签 [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 - 从 InputConnection 获取 EditText 中所有文本的更好方法?
我编写了一个 IME (InputMethodService),我需要从它正在编辑的 EditText 中获取所有文本。我知道一种方法:
它有效,但它看起来非常愚蠢和笨重。但是没有这样的方法InputConnection.getText()
。
有没有更好的办法?
PS 我无法从 IME 访问 EditText,因为它属于父应用程序,所以请不要告诉我使用 EditText.getText(),除非您知道获取 EditText 的方法!
android - 是否可以同时激活物理键盘和软键盘?
我的应用程序需要同时激活两个输入源:条形码扫描仪和软键盘。当我配对蓝牙扫描仪时,它被视为物理键盘。因此,连接此设备时,不会显示软键盘(软键盘已停用)。
是否可以同时激活物理键盘和软键盘?如果不是,解决问题的最佳方法是什么?我是否必须实现一个自定义视图来接收按键事件?市场上是否有任何键盘应用程序可以做到这一点?
如何以编程方式打开和关闭物理键盘?这是切换按钮“使用物理键盘”设置(我在这里找到了此设置的屏幕截图:
android - Android:使用 TextWatcher 删除 EditText 中的字符仍会在建议中显示字符
在我的活动中,我有一个 EditText 来捕获文件名。我正在使用 TextWatcher 来防止用户输入我不希望他们在文件名中使用的某些字符。本质上,我只希望用户输入以下字符:[a-zA-Z_0-9]。
编辑:在 onCreate(...) 添加更多代码
在布局 xml 文件中
通过防止用户输入诸如“\”和“.”之类的内容,这非常有效。我遇到的问题是,如果他们键入这些字符,它们就会出现在单词建议框中。这有点烦人,因为如果您尝试使用退格键删除一个字符,它会首先从建议中删除(即使该字符没有出现在 EditText 框中)。
您如何防止不需要的字符出现在单词建议框中?
请参阅下面的屏幕截图。请注意,“-”(连字符)出现在建议框中,但没有出现在 EditText 中。另请注意,在连字符之后的建议框中还有另一个有效字符,该字符也未显示在 EditText 中。这实质上会阻止用户输入更多文本,直到他们删除连字符,即使它不在 EditText 中。
更新:同样的问题出现了,可以通过使用 InputFilter 而不是 TextWatcher 来重现。
更新:我想澄清一下,我的目标不是完全压制这些建议。问题是当您阻止特定字符出现在 EditText 中时,它们仍会出现在建议中。我的目标(赏金的目的)是防止相同的特定字符出现在建议中。
android - 在android中的自定义键盘输入法上添加按钮
我希望将自定义按钮添加到 android IME。所以我创建了一个 InputMethodService 扩展,就像使用代码示例中的软键盘示例一样。但在 SoftKeyboard 示例中,候选视图用于添加预测文本。因此,我尝试使用相同的方法,但是当我在候选视图上添加按钮时,如何监听 onclick 事件。这是在键盘上方添加按钮的最佳方式吗?
如何更改已提供的键盘中每个字母的背景,甚至更改按钮?
谢谢,无
android - InputKeyboard 上的 EditText 启动在 android 中创建 IME
我正在为设备创建自己的 IME。我需要添加的是键盘视图上方的文本框,如下图所示。虽然我可以如下图所示显示它,但我无法在其中写入文本。
我正在扩展键盘视图,下面是布局结构
公共类 CustomKeyboardView 扩展 KeyboardView {
谢谢, 无
android - 有人可以解释如何使用 TYPE_INPUT_METHOD_DIALOG 吗?
当我按下软键盘的一个键时,我想创建一个简单的对话框(例如EditText
和一个按钮)。
android - 在 Android 上获取指向屏幕键盘视图的指针
我正在努力将天文学应用程序中的所有 UI 元素都染成红色。除了屏幕键盘之外,我基本上已经成功完成了所有操作。我需要获取对键盘的 Window 或 View 的引用才能执行此操作。我没有在 API 中找到任何这样做的东西。
任何人都可以建议我掌握这个的方法吗?我已经看到帖子解释(一种技巧)如何学习何时显示或隐藏键盘,但实际上并未获得对视图的引用。
谢谢比尔
android - 当我尝试启动服务时权限被拒绝
我正在尝试从 访问InputMethodService
,但我遇到Activity
了权限问题。这是用于自定义键盘应用程序。
我想要实现的是将Activity
后面创建的文本绑定到InputMethodService
. 是从Activity
中打开的InputMethodService
,然后从 中Activity
,我尝试启动Service
(这可能是问题所在。这是我Activity
从 中打开的方式InputMethodService
:
这是我尝试与InputMethodService
来自的沟通的地方Activity
:
这是我的清单文件:
这是我的堆栈跟踪:
有任何想法吗?
android - InputMethod 隐藏 EditText
如上图所示,我在 videoview Resume、Produits、Persos、Talk 下面有四个标签。
当我单击选项卡时,选项卡下方会启动一个新的相应活动。现在如图所示,当前选项卡是谈话。我的问题是,当用户单击 Edittext 时,它会显示软输入键盘,但会将 edittext 隐藏在图像旁边。如何避免它。
java - 使用 SeekBar 更新 Android 布局中的计算值
因此,我一直在开发一个应用程序,该应用程序具有具有许多不同输入和输出的 Plan 模型,并且应用程序的布局具有用于输入的滑块控件和用于输出的标签。当输入发生变化时,它会更新模型,然后运行计算,然后更新视图。一开始我并没有觉得这个架构有什么问题,但是即使是简单的计算也似乎运行得很慢,阻塞了 UI 线程。当然,我确实有一种有点复杂的更新方式:
- 滑块(在视图组子类中)更新其值并向委托(实现特定于该视图组子类的接口)发送消息。
- 委托(持有模型和控制子视图)告诉计划实例设置一个新值,这会触发计划重新计算其输出。
- 一旦计划完成计算,它会向委托发送另一条消息,然后委托其输出视图使用新值进行更新。
我已经根据我开发的 iOS 应用程序对这种架构进行了建模,该应用程序在运行计算时似乎没有那么大的问题。
现在,我知道 Android 与 iOS 有很大不同,所以我想知道我是否完全错了。有没有办法让这些视图观察 Plan 模型的变化,然后获取它应该显示的值?
我在这里看到的另一个主要问题是滑块输入。如果我将模型更新计算放到一个线程中,每次滑块改变时,都会创建一个新线程。这些线程(如我所见)将或多或少地以随机顺序完成,当您应该看到增量更改时,以这样的方式更新视图也毫无意义。是否有一种很好的线程计算方法应该可以通过搜索栏进行更改?