Android:如何在地图上添加半透明地理围栏。即,我可以用颜色填充它,但下面的地图仍然可见。
答案 0 :(得分:2)
使用Color.argb()
。要了解更多信息,请转到Color类参考页面(http://developer.android.com/reference/android/graphics/Color.html)。以下是制作蓝色半透明填充的示例:
Color.argb(
100, //This is your alpha. Adjust this to make it more or less translucent
Color.red(Color.BLUE), //Red component.
Color.green(Color.BLUE), //Green component.
Color.blue(Color.BLUE)); //Blue component.
这将使您想要的蓝色半透明颜色。如果你有一个自定义的十六进制颜色(0xFFFFFFFF
),只需调整第一个字节(0xFF......
),使其或多或少半透明。
修改强>
这是一个简单的函数,您可以使用它传递alpha和颜色来调整它:
int alphaAdjust(int alpha, int color) {
return Color.argb(
alpha, //This is your alpha. Adjust this to make it more or less translucent
Color.red(color), //Red component.
Color.green(color), //Green component.
Color.blue(color)); //Blue component.
}
答案 1 :(得分:1)
你可以创建一个Circle,这很容易: 您的地理围栏详细信息已经到位(geofLocation和geofRadius),您可以这样做:
// Instantiates a new CircleOptions object and defines the center and radius
CircleOptions circleOptions = new CircleOptions()
.strokeColor(Color.BLACK) //Outer black border
.fillColor(Color.TRANSPARENT) //inside of the geofence will be transparent, change to whatever color you prefer like 0x88ff0000 for mid-transparent red
.center(geofLocation) // the LatLng Object of your geofence location
.radius(geofRadius)); // The radius (in meters) of your geofence
// Get back the mutable Circle
Circle circle = myMap.addCircle(circleOptions);
答案 2 :(得分:0)
尝试documentation中列出的示例。我建议使用半透明圆圈来表示你的地理围栏。
答案 3 :(得分:0)
这样的事情:
LatLng latLng = ...
CircleOptions circleOptions = new CircleOptions();
circleOptions.center(latLng)
.fillColor(Color.argb(64, 0, 255, 0))
.strokeColor(Color.GREEN)
.strokeWidth(1)
.radius(100);
注意Color.argb()方法中的第一个参数(值64),该参数控制圆的alpha / transculency,在这种情况下,它将是一个transculent绿色圆圈。将第一个参数值从0更改为255以实现您想要的透明度。这是Color.argb方法javadoc - http://developer.android.com/reference/android/graphics/Color.html#argb(int, int, int, int)