转载自:http://blog.csdn.net/yanliabcd/article/details/78348254
项目地址:https://github.com/604982372/IrregularView.git
我这里实现android不同区域选择是通过坐标和点击区域的颜色(本项目使用红色)来实现。
1.通过当前点击的区域坐标和颜色来判断属于哪张图片,然后将对应的图片显示出来。
实现步骤:
1.准备一套图片,每张图片大小一样,可以重合。
2.项目中布局(最好切好尺寸图,自定义大小会影响准确性)
<cn.xiwu.myview.IrregularView android:id="@+id/il" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:src="@drawable/a" />
3.把整套图id传递给IrregularView
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); IrregularView irView = (IrregularView) findViewById(R.id.il); irView.setImgResIds(new int[]{ R.drawable.b, R.drawable.c, R.drawable.d, R.drawable.e, R.drawable.f, R.drawable.g, R.drawable.h, R.drawable.i, R.drawable.j, R.drawable.k, R.drawable.l, R.drawable.m, R.drawable.n, R.drawable.o, R.drawable.p, R.drawable.q, R.drawable.r, R.drawable.s, R.drawable.t, R.drawable.u}); }
4.选择一个市面上主流分辨率的手机(我这里选择1920*1080),首次运行是采集坐标所有图红色区域坐标(ps:每张图的红色区域不重合)
通过"3699coorstr"打印过滤获取坐标,复制粘贴出来
通过"3699coorcount"打印过滤获取每张图片红色区域坐标个数,复制出来
“8%%29”表示坐标点“====”是分隔符
“100”表示第一张图片红色区域坐标有100个
把数据粘贴到strings.xml
注意命名要于IrregularView类中的一致
不去实践,你永远都不会知道你想象中,困难的事情有多简单,简单的事情有多复杂