android映射v2多边形透明度

android transparency polygons google-maps-android-api-2

9098 观看

3回复

23 作者的声誉

我正在使用Google Maps v2 API for android,而我无法控制fillColor的透明度。我希望能够在填充多边形下看到地图。有没有办法做到这一点 ?

谢谢你的帮助 !

作者: user1978464 的来源 发布者: 2013 年 1 月 14 日

回应 (3)


16

17598 作者的声誉

决定

那么,让我描述一下标准的4字节颜色是如何编码的:

标准像素颜色由4个字节组成:

  • A(alpha通道) - 0-255(0 - 完全透明,255 - 完全不透明)
  • R(红色通道) - 0-255
  • G(绿色通道) - 0-255
  • B(蓝色通道) - 0-255

每个通道代表特定颜色部分的饱和度。因此,如果我们需要创建完全不透明的红色,我们需要指定以下通道值:

  • 255,255,0,0

如果我们想让它半透明,我们需要将alpha通道值除以2(255/2 = 127):

  • 127,255,0,0

那么让我们回到android。在Android中,在大多数情况下,您可以通过指定颜色的十六进制值来指定颜色:

polygon.setFillColor(0xFF00FF00); //not transparent green color

在十六进制中,每个通道可由2个十六进制数字指定:

  • A(FF)
  • R(00)
  • G(FF)
  • B(00)

如果你想让这个颜色半透明,你需要除以FF2:

0xFF/2 = 0x7F //the same as 255/2 = 127

polygon.setFillColor(0x7F00FF00); //half-transparent green color

所以基本上你需要做的是 - 使用alpha通道值来获得你想要的透明度

作者: Pavel Dudka 发布者: 14.01.2013 09:21

4

448 作者的声誉

 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);
作者: Harsha Vardhini 发布者: 29.03.2014 12:53

0

28 作者的声誉

基本上对我有用的是:

  polygon = mGoogleMap.addPolygon(new PolygonOptions().
        addAll(points)
            .fillColor(0x33FF0000)
             .strokeColor(Color.RED)
               .strokeWidth(3))
作者: Petar Ceho 发布者: 02.05.2019 07:03
32x32