【问题标题】:Implement different clickable Area on an image-page through image map通过图像映射在图像页面上实现不同的可点击区域
【发布时间】:2012-04-25 11:39:52
【问题描述】:
                                A B C D
                                E F G H  --figure.

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

我的问题是:

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

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

我不知道如何在图像上实现可点击区域,可点击区域或坐标不会因模拟器而异。

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

提前致谢

【问题讨论】:

    标签: android imagemap


    【解决方案1】:

    我记得几天前回答了一个非常相似的问题。为了将其实现为图像,您需要知道图像的哪些区域意味着什么(即,如果您获得触摸事件的坐标,这些坐标将对应于哪个动作)。如果你有这些信息,你就可以用你的 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。您可以轻松地将按钮设置为您想要的形状,并且可以轻松地为它们设置单独的背景可绘制对象,使其看起来像一个完整的图像。

    【讨论】:

    • 感谢您的回答,但我有一个包含 26 个(AZ)字母图像的图像页面。但在我的第二页中有很多像漫画一样的图片,所以我想在周围显示一个细边框区域图像的可点击性和一个通知应该像您单击此区域或带有声音的图像一样出现。如何完全实现所有东西请给我一些示例代码或链接。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-25
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    • 2015-12-01
    • 1970-01-01
    • 2019-07-30
    相关资源
    最近更新 更多