J2ME -软键盘/虚拟键盘库



我已经创建了一个J2ME应用程序(所有自定义编码使用画布为每个屏幕),这在带有键盘的设备上运行良好,但当设备没有键盘,没有虚拟键盘/键盘(例如,一些诺基亚Asha设备),那么应用程序不能使用。

是否有一个键盘/键盘库我可以插入我的应用程序?

我需要键盘/小键盘的主要原因是因为应用程序有一个搜索屏幕(Canvas),用户可以在其中输入他们的查询。

我不知道有什么库,但我想分享一下我自己是怎么做的。

我通常通过将屏幕划分为9或12个不可见的区域来实现我自己的触摸输入。左上区域就等于按下1。上中野等于按2,以此类推。您通过pointerPressed()接收这些输入,然后简单地检查用户在屏幕上按下的位置,并相应地调用keyPressed()

public void pointerPressed(int x, int y) {
  if (x < width/3 && y < height/4) keyPressed(KEY_NUM1);
  else if (x >= width/3 && x < width*2/3 && y < height/4) keyPressed(KEY_NUM2);
  else if (x >= width*2/3 && y < height/4) keyPressed(KEY_NUM3);
  ...and so forth
}

如果你愿意,你可以在GUI的顶部添加一个半透明的键盘图形层,例如在检查hasPointerEvents()之后。

我在我的许多应用程序中使用了这种方法,并发现它比其他必须在屏幕上点击一个非常小的按钮的解决方案要好得多。

最新更新