我创建了一个J2ME应用程序(所有自定义编码,每个屏幕使用Canvas),在带有键盘的设备上运行良好,但是当设备没有键盘而没有虚拟键盘/键盘(例如,某些诺基亚Asha设备)时, app无法使用。
我可以将键盘/小键盘库插入我的应用程序吗?
我需要键盘/键盘的主要原因是因为应用程序有一个搜索屏幕(Canvas),用户可以在其中输入查询。
答案 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()
后。
我已经在我的许多应用程序中使用了这种方法,并发现它比其他一些非常小的按键屏幕解决方案更好用。