繁体   English   中英

如何从屏幕(虚拟)键盘上获得压力? (机器人)

[英]How to get pressure from on screen (Virtual) keyboard? (Android)

我需要从屏幕键盘上获取一些信息,例如Android中的压力,KeyDown和KeyUp,但不知道该怎么做。

android官方网站说:

注意:在使用KeyEvent类和相关API处理键盘事件时,应该期望此类键盘事件仅来自硬件键盘。 您绝不应该依靠软输入法(屏幕键盘)上的任何键来接收键事件。

我也尝试了以下方法,但没有成功。 它实际上可以与后退按钮之类的硬件键一起使用。

myEditText.setOnKeyListener(new View.OnKeyListener() {
        @Override
        public boolean onKey(View view, int i, KeyEvent keyEvent) {
            return false;
        }
    });

我当时想找到一种扩展屏幕键盘的方法,但仍然没有成功! 有没有人尝试过这样做? 非常感谢您的帮助。

更新:尝试了多种解决方案后,最终我得到了由krossovochkin建议的使用自己的键盘的相同解决方案。 如果要修改Android键盘为新键盘,该解决方案似乎还不错。 这样,它会出现在“设置->输入法”中,以便用户可以切换到新键盘,这很好,因为可以从所有其他应用程序访问它。 由于尚不清楚是否可以从标准虚拟键盘上获得压力,因此我认为这个问题可能会悬而未决。

你可以尝试调用getPressure()从方法MotionEvent链接: http://developer.android.com/reference/android/view/MotionEvent.html#getPressure%28int%29

程式码片段:

view.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        float pressure = event.getPressure();
    }
});

更新:您可以创建自己的键盘并从中获取压力。 也许用户不喜欢使用您的键盘而不是默认键盘。 但是我认为这是针对您情况的最佳解决方案。

有关以下内容的更多信息:
键盘视图: http : //developer.android.com/reference/android/inputmethodservice/KeyboardView.html
创建自己的键盘的示例: https : //github.com/rciovati/Android-KeyboardView-Example

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM