J2ME - 软键盘/虚拟键盘库?

时间:2015-05-28 07:59:54

标签: java-me touch libraries virtual-keyboard

我创建了一个J2ME应用程序(所有自定义编码,每个屏幕使用Canvas),在带有键盘的设备上运行良好,但是当设备没有键盘而没有虚拟键盘/键盘(例如,某些诺基亚Asha设备)时, app无法使用。

我可以将键盘/小键盘库插入我的应用程序吗?

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

1 个答案:

答案 0 :(得分:1)

我不知道任何图书馆,但我想我只是分享我自己经常这样做的方式。

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

E.g。

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()后。

我已经在我的许多应用程序中使用了这种方法,并发现它比其他一些非常小的按键屏幕解决方案更好用。

相关问题