我想在我的android應用程序中繪製一個圓形覆蓋圖,我當然可以輕鬆地做,併爲其添加顏色。Android mapview(negative coloring)
但我真正想做的是保持圓形透明,並以淺灰色遮住圓圈(世界其他地方)的外部。
我試圖添加圓作爲一個路徑,陰影世界和剪出圓圈,但我得到一個圍繞我的設備上的圓周邊框(雖然它看起來很好的模擬器)。
任何幫助表示讚賞。下面是一個代碼片段:
public void draw(Canvas canvas,MapView mapView,boolean shadow) super.draw(canvas,mapView,shadow);
Projection projection = mapView.getProjection();
Point pt = new Point();
GeoPoint geo = new GeoPoint((int) (mLat * 1e6), (int) (mLon * 1e6));
projection.toPixels(geo, pt);
float circleRadius = projection.metersToEquatorPixels(mRadius)
* (1/FloatMath.cos((float) Math.toRadians(mLat)));
Paint innerCirclePaint;
innerCirclePaint = new Paint();
innerCirclePaint.setColor(Color.TRANSPARENT);
innerCirclePaint.setAlpha(35);
innerCirclePaint.setAntiAlias(true);
innerCirclePaint.setStyle(Paint.Style.FILL);
Path path = new Path();
path.setFillType(Path.FillType.WINDING);
path.addCircle((float) pt.x, (float) pt.y, circleRadius, Path.Direction.CCW);canvas.drawPath(path, innerCirclePaint);
canvas.drawARGB(150, 0, 0, 0);
canvas.clipPath(path);
}
你是說我只是改變顏色? 這不起作用! –
抱歉..在地圖上有陰影嗎? – QuokMoon
我不確定你的意思?你可以請更具體一點嗎? –