1
我目前在基于不同GeoPoints的MapView上绘制线条以指示扇区。用下面的代码(这是在覆盖层中):在MapView上绘图透明
@Override
public void draw(Canvas canvas, MapView mapView, boolean shadow)
{
for(Polygon polygonTemp : polygonList)
{
Path p = new Path();
Projection projection = mapView.getProjection();
boolean firstTime = true;
for(GeoPoint geoPoint : polygonTemp.getGeoPointList())
{
Point drawPoint = new Point();
projection.toPixels(geoPoint, drawPoint);
if(firstTime)
{
p.moveTo(drawPoint.x, drawPoint.y);
firstTime = false;
}
else
{
p.lineTo(drawPoint.x, drawPoint.y);
}
}
p.setFillType(Path.FillType.EVEN_ODD);
Paint polyPaint = new Paint();
polyPaint.setStrokeWidth(1);
polyPaint.setStyle(Paint.Style.FILL_AND_STROKE);
polyPaint.setAntiAlias(true);
polyPaint.setColor(Color.parseColor(polygonTemp.getColor()));
canvas.drawPath(p, polyPaint);
firstTime = true;
}
super.draw(canvas, mapView, shadow);
}
的问题是,我希望他们充满了某种程度的透明度,所以我仍然可以看到充满部门下的地图。我试图设置polyPaint.setAlpha(),甚至到255(应该是完全透明的),并且它什么都不做,它完全相同。
任何人都知道我在做什么错?
嗯,感觉挺傻的,现在...一些我读255的原因是完全透明的,而不是相同的... 奇怪的是,我实际上尝试polyPaint.setAlpha(100)并上升到255,根本没有注意到透明度的差异。现在,你的方式和setalpha的方式似乎工作= \ 无论如何,thx:P – shokora 2010-11-16 21:09:44