通过图像映射在图像页面上实现不同的可点击区域

时间:2012-04-25 11:39:52

标签: android imagemap

                                A B C D
                                E F G H  --figure.

我正在使用Android上的Book App。在我的书App中,有很多图像页面。在第一个图像页面中有26个字母(A-Z),原始的4个字母(如我的图片所示)。

我的问题是:

  1. 我想为每个字母(A-Z)开发一个可点击区域。当用户点击或触摸任何一个字母表时,应该出现一个方框,如“点击图像A”(如上图所示)。

  2. 每次触摸或点击字母图像(A-Z),我都会传递相应的声音。意味着我想在一个图像页面上为不同区域调用不同的听众。

  3. 我不知道如何在可点击区域或坐标不会将模拟器改变为模拟器的图像上实现可点击区域。

    请提供一些示例代码或想法或参考链接。

    先谢谢

1 个答案:

答案 0 :(得分:0)

我记得几天前回答了一个非常相似的问题。为了将其实现为图像,您需要知道图像的哪些区域意味着什么(即,如果您获得触摸事件的坐标,这些坐标将对应于哪个动作)。如果您有此信息,则可以使用ImageView注册OnTouchListener

imageView.setOnTouchListener(new OnTouchListener() {
    public boolean onTouch (View v, MotionEvent event) {
        int x = event.getX();
        int y = event.getY();
        //now deal with coordinates (x, y)
    }
});

但是在你的情况下,我建议使用带有26个按钮的布局,并且只使用OnClickListener。您可以轻松地将按钮设置为您想要的形状,您可以轻松地为它们设置单独的背景可绘制,使其看起来像一个整体图像。