【发布时间】:2012-12-28 21:17:46
【问题描述】:
我正在使用适用于 android 的 Google Maps v2 API,但我无法控制 fillColor 的透明度。 我希望能够在填充的多边形下看到地图。 有没有办法做到这一点?
感谢您的帮助!
【问题讨论】:
标签: android transparency polygons google-maps-android-api-2
我正在使用适用于 android 的 Google Maps v2 API,但我无法控制 fillColor 的透明度。 我希望能够在填充的多边形下看到地图。 有没有办法做到这一点?
感谢您的帮助!
【问题讨论】:
标签: android transparency polygons google-maps-android-api-2
好吧,让我描述一下标准的 4 字节颜色是如何编码的:
标准像素颜色由4个字节组成:
每个通道代表特定颜色部分的饱和度。因此,如果我们需要创建完全不透明的红色,我们需要指定以下通道值:
如果我们想让它半透明,我们需要将 alpha 通道值除以 2 (255/2 = 127):
让我们回到安卓。在 Android 中,大多数情况下您可以通过指定颜色的十六进制值来指定颜色:
polygon.setFillColor(0xFF00FF00); //not transparent green color
在十六进制中,每个通道可以由 2 个十六进制数字指定:
如果你想让这个颜色半透明,你需要将FF除以2:
0xFF/2 = 0x7F //the same as 255/2 = 127
polygon.setFillColor(0x7F00FF00); //half-transparent green color
所以基本上你需要做的就是使用 alpha 通道值来获得你正在寻找的透明度
【讨论】:
cir=map.addCircle(new CircleOptions().center(new LatLng(10.938341, 76.9548734))
.radius(150)
.strokeColor(Color.rgb(0, 50, 100))
.strokeWidth(5)
.fillColor(Color.argb(20, 50, 0, 255))
.zIndex(55));
cir.setVisible(true);
【讨论】:
基本上对我有用的是:
polygon = mGoogleMap.addPolygon(new PolygonOptions().
addAll(points)
.fillColor(0x33FF0000)
.strokeColor(Color.RED)
.strokeWidth(3))
【讨论】: