【问题标题】:Determine screen touch positions for BlackBerry确定 BlackBerry 的屏幕触摸位置
【发布时间】:2011-10-30 01:10:53
【问题描述】:

我正在开发一个电子书应用程序。我有一些位图从左到右和从右到左传输。我没有在屏幕上添加任何字段。如何让用户确定使用 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);

【问题讨论】:

    标签: blackberry


    【解决方案1】:

    那么,Koushik,我有另一个解决你问题的方法。

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

    然后,继续将您的图像添加到该 Horizo​​ntalFieldManager。图像将直接并排添加,您可以通过简单的触摸事件在每个图像之间交换 您实际上不需要为导航编写任何特定代码

    让图像成为 BitmapFields

    为了更好的外观和感觉,您可以将聚焦的 BitmapField 放大更多

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

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

    【讨论】:

      【解决方案2】:

      我认为上面的代码不能解决你的要求

      如果您尝试使用触摸事件实际翻阅图像,则可以使用 PictureScrollField,但我怀疑它是否适用于storm

      它必须在storm2中运行良好,因为它使用的是6.0版本的操作系统

      使用它,您实际上可以从左到右翻阅图像,并且每个图像将占据整个屏幕

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

      如果问题解决了请告诉我

      【讨论】:

      • 您好 Dheeraj,感谢您的回复。我需要从 Storm 版本 4.7 开始开发它。
      猜你喜欢
      • 2011-05-23
      • 1970-01-01
      • 2014-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多