项目设置一个类似HTML map标签功能的Android组件
文章结束给大家来个程序员笑话:[M]
项目地址:
https://github.com/chenyoca/android-image-map
一个相似HTML map标签功能的Android组件。可以实现HTML里图片热点映射。
An android view like html map tag.
项目结构
此项目是在Android Stdio IDE中创立的,其目录结构与Eclipse很不同。如果应用Eclipse打开,需要把路径设置到 ...../ImageMap/src/main 里。
截图
特色
* 支撑图像缩放和拖动。图中色块覆盖的区域为图片热点。图像缩放和拖动时,这些热点区域也会随着缩放和移动。
* 支撑 Circle,Rect,Poly 三种形状。对应的类为 CircleShape, RectShape, PolyShape。向ImageMap对象中添加即可。
* 支撑纯生HTML map数据,可以直接把HTML Map生成的coords数据直接设置到Shape中。
* 支撑Bitmap对象,res目录下的drawable文件等数据来源。 * 在代码中创立或者XML中布局。
## 应用
详细代码见MainActivity.java文件。项目为Android可运行项目,直接运行即可。
一个相似HTML map标签功能的Android组件。可以实现HTML里图片热点映射。
An android view like html map tag.
项目结构
此项目是在Android Stdio IDE中创立的,其目录结构与Eclipse很不同。
如果应用Eclipse打开,需要把路径设置到 ...../ImageMap/src/main 里。
截图
特色
* 支撑图像缩放和拖动。图中色块覆盖的区域为图片热点。图像缩放和拖动时,这些热点区域也会随着缩放和移动。
* 支撑 Circle,Rect,Poly 三种形状。对应的类为 CircleShape, RectShape, PolyShape。向ImageMap对象中添加即可。
* 支撑纯生HTML map数据,可以直接把HTML Map生成的coords数据直接设置到Shape中。
* 支撑Bitmap对象,res目录下的drawable文件等数据来源。
* 在代码中创立或者XML中布局。
## 应用
详细代码见MainActivity.java文件。项目为Android可运行项目,直接运行即可。
//取得在XML中布局的ImageMap对象,并设置图片
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
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);
|
文章结束给大家分享下程序员的一些笑话语录:
关于编程语言
如果 C++是一把锤子的话,那么编程就会变成大手指头。
如果你找了一百万只猴子来敲打一百万个键盘,那么会有一只猴子会敲出一 段 Java 程序,而其余的只会敲出 Perl 程序。
一阵急促的敲门声,“谁啊!”,过了 5 分钟,门外传来“Java”。
如果说 Java 很不错是因为它可以运行在所有的操作系统上,那么就可以说 肛交很不错,因为其可以使用于所有的性别上。