来自XML形状透明的Android BitMapDescriptor是黑色的

时间:2013-10-05 13:40:11

标签: android google-maps bitmap drawable

所以这个bitmapdescriptor在GoogleMap(v2)的Groundoverlay中使用时,透明度显示为黑色可以解释为什么?

半径圆形文件

   <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">

    <gradient android:startColor="@color/brand_color" android:endColor="@android:color/transparent" android:type="radial" android:gradientRadius="110"/>

</shape>

放在地图上

if (mDotMarkerBitmap==null){
                                int px = getResources().getDimensionPixelSize(R.dimen.pin_radius_drawable);

                                mDotMarkerBitmap = Bitmap.createBitmap(px, px, Bitmap.Config.ARGB_8888);
                                Canvas canvas = new Canvas(mDotMarkerBitmap);
                                Drawable shape = getResources().getDrawable(R.drawable.radius_circle);
                                shape.setBounds(0, 0, mDotMarkerBitmap.getWidth(), mDotMarkerBitmap.getHeight());
                                shape.draw(canvas);
                            }

                            BitmapDescriptor descriptor = BitmapDescriptorFactory.fromBitmap(mDotMarkerBitmap);


                            GroundOverlay groundOverlay = mMap.addGroundOverlay(new GroundOverlayOptions()
                             .image(descriptor)
                             .transparency(0.4F)
                             .position(center, radiusDistance.distanceInMeters*2));

我似乎无法理解为什么会出现这种情况,我只是希望它从内到外逐渐淡出,但它从颜色渐变为灰色(黑色但透明)

1 个答案:

答案 0 :(得分:0)

嗯,好吧,答案似乎是将结束颜色设置为坚固的透明度而不是依赖

android:endColor="@android:color/transparent" 

我将结束颜色更改为此

android:endColor="#00FFFFFF"