自定義控件中,我是用Path進(jìn)行繪制的不規(guī)則圖形,如區(qū)域圖,熱力圖等,如何判斷一個(gè)點(diǎn)是否在區(qū)域中呢,android Region類中提供了Region.contains(x,y)方法來判斷一個(gè)點(diǎn)是否存在
new Region();
new Region(Region region);
new Region(Rect r);
new Region(int left, int top, int right, int bottom);
通常是傳入一個(gè)矩陣Rect,如果是path需要通過Region.setPath(Path path,Region clip)
//我這里path只是展示,實(shí)際上是真是的path
Path path = new Path();
RectF r = new RectF();
//通過方法得到邊界
path.computeBounds(r, true);
Region region = new Region();
region.setPath(path, new Region((int) r.left, (int) r.top, (int) r.right, (int) r.bottom));
得到region后就可以通過方法判斷點(diǎn)擊位置是否存在于區(qū)域內(nèi)了