首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在SurfaceView上绘制SoftKeyboard keyCodes?

如何在SurfaceView上绘制SoftKeyboard keyCodes?
EN

Stack Overflow用户
提问于 2012-01-19 05:16:32
回答 1查看 386关注 0票数 0

我对软键盘和表面视图有点问题。当我在软键盘上打字时,我想通过onDraw方法在表面视图上写文本。我得到了事件,但我无法获得相应的字符来绘制。我看到很多帖子,有人说getNumber()应该用相应的字符来响应,但它失败了,并返回了错误代码。下面是可能的onKey方法:

代码语言:javascript
复制
public boolean onKey(View v, int keyCode, KeyEvent event) {
        Log.d(LOGTAG, "keyCode: "+keyCode+" - " + event.getNumber()+" Un: "+event.getUnicodeChar());
        this.charToDraw = ""+event.getNumber();
        this.forceOnDraw();
        return false;
    }

DDMS显示:

代码语言:javascript
复制
01-18 16:35:27.440: DEBUG/xxxxxxx(6227): keyCode: 47 - �� Un: 115
01-18 16:35:27.440: DEBUG/xxxxxxx(6227): onDraw: WRITING:��

我还尝试使用:

代码语言:javascript
复制
char keyCode = (char)keyCode;
String keyCode = "" + keyCode;

但是得到了相同的结果。

我需要将keyCode转换为一个字符串,以便与表面视图画布的drawString一起显示。

EN

回答 1

Stack Overflow用户

发布于 2012-06-09 12:23:53

试一试

代码语言:javascript
复制
event.getDisplayLabel()

在您的onKey()方法中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8917537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档