确定BlackBerry的屏幕触摸位置

时间:2011-02-01 14:40:11

标签: blackberry

我正在开发一个电子书应用程序。我有一些位图从左到右和从右到左过渡。我没有在屏幕上添加任何字段。如何让用户使用TouchEvent确定位图转换的屏幕上的点击次数。我需要将屏幕划分为3个部分,使得每个部分应具有120像素宽度以便点击位图。

我无法实现FieldChangeListener,因为它不支持应用程序要求。

我想使用以下代码来划分屏幕。这是正确的代码吗?

protected boolean touchEvent(TouchEvent message) {
        if (message.getEvent() == TouchEvent.CLICK) {
            int x = message.getX(1);
            int y = message.getY(1);
            XYRect myArea = new XYRect();
            getExtent(myArea);
            myArea.setLocation(0, 0);
            if (myArea.contains(x, y)) {
                Dialog.alert("Click successful!");
            }
        }
        return super.touchEvent(message);

2 个答案:

答案 0 :(得分:0)

在那种情况下Koushik,我有另一种解决方案。

您可以创建一个Horizo​​ntalFieldManager添加到在参数中添加了HORIZONTAL_SCROLL的屏幕

然后继续将图像添加到Horizo​​ntalFieldManager。图像将直接相邻添加,您可以通过简单的触摸事件交换每个图像 您无需实际编写导航的任何特定代码

让图像为BitmapFields

为了获得更好的外观,您可以使焦点BitmapField更加放大

您还可以为此添加更多内容,例如让每个图像占据大部分屏幕,其他图像略微可见,以便帮助用户识别旁边有图像 要占用整个屏幕,您需要在Horizo​​ntalFieldManager的sublayout()方法中设置布局

希望这能解决您的问题。谢谢。

答案 1 :(得分:-1)

我认为上述代码无法解决您的要求

如果您尝试使用触摸事件实际翻阅图像,可以使用PictureScrollField,但我怀疑它是否在风暴中工作

它必须在storm2中运行良好,因为它使用版本6.0 OS

使用此功能,您实际上可以从左到右翻转图像,每个图像都占据整个屏幕

如果假设PictureScrollField与您的设备不兼容,那么您可以通过创建自定义类并使用字段

扩展它来使用Field。

如果问题解决了,请告诉我