类似HTML map标签功能的Android组件

Android Image Map

一个类似HTML map标签功能的Android组件。可以实现HTML里图片热点映射。

An android view like html map tag.

项目地址

 https://github.com/chenyoca/android-image-map

项目结构

此项目是在Android Stdio IDE中创建的,其目录结构与Eclipse很不同。如果使用Eclipse打开,需要把路径设置到 ...../ImageMap/src/main 里。

截图

![ScreenShot](https://github.com/chenyoca/ImageMap/ScreenShot.png)

特点

 * 支持图像缩放和拖动。图中色块覆盖的区域为图片热点。图像缩放和拖动时,这些热点区域也会跟着缩放和移动。

 * 支持 Circle,Rect,Poly 三种形状。对应的类为 CircleShape, RectShape, PolyShape。向ImageMap对象中添加即可。

 * 支持纯生HTML map数据,可以直接把HTML Map生成的coords数据直接设置到Shape中。

 * 支持Bitmap对象,res目录下的drawable文件等数据来源。

 * 在代码中创建或者XML中布局。

## 使用

详细代码见MainActivity.java文件。

```java

//取得在XML中布局的ImageMap对象,并设置图片

ImageMap map = (ImageMap) findViewById(R.id.imagemap);
    Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.pink_girl,new BitmapFactory.Options());
    map.setMapBitmap(bitmap);

// 设置Shape被点击时的监听
// 注意:同一时刻只有一个Shape被监听点击
map.setOnShapeClickListener(new ShapeExtension.OnShapeClickListener() {
    @Override
    public void onShapeClick(Shape shape, float xOnImage, float yOnImage) {
        String msg = "Shape "+shape.tag+" clicked !";
        Toast.makeText(MainActivity.this,msg,Toast.LENGTH_SHORT).show();
    }
});

// 圆形
// "black"是唯一标识这个Shape的字符串,不可重复。
Shape black = new CircleShape("black", Color.BLACK);
black.setValues(633,122,15);
map.addShape(black);

// 矩形
Shape black = new CircleShape("black", Color.BLACK);
black.setValues(633,122,15);
map.addShape(black);

// 多边形
Shape black = new CircleShape("black", Color.BLACK);
black.setValues(633,122,15);
map.addShape(black);

```

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值