2017-01-09 72 views
1

我想要一个具有一个bg颜色的画布,但它不工作。 我大概可以创建一个相同颜色和位图的数组,但是如果可能的话,我想避免这种情况。 RE:Android canvas change background color如何在Android中绘制背景画布相同颜色

private void addCustomMarker(GoogleMap map, ActivePoint a, LatLng latLng) { 
     Bitmap.Config conf = Bitmap.Config.ARGB_8888; 
     Bitmap userBmp = Utils.decode(a.mCreatorUser.getmImgBase64Thumb()); 
     Bitmap dogBmp = Utils.decode(a.mCreatorDog.getmImgBase64Thumb()); 

     int border_width = 10; 

     int width, height = 0; 
     width = userBmp.getWidth() + dogBmp.getWidth(); 
     height = userBmp.getHeight() > dogBmp.getHeight() ? userBmp.getHeight() : dogBmp.getHeight(); 
     Bitmap cs = Bitmap.createBitmap(width+border_width*2, height+border_width*2, Bitmap.Config.ARGB_8888); 

     Canvas canvas1 = new Canvas(cs); 

    // modify canvas 

     canvas1.drawARGB(0, 0x3F, 0x51, 0xB5); 
//  canvas1.drawColor(ContextCompat.getColor(this,R.color.primary), PorterDuff.Mode.CLEAR); 

// add marker to Map 
     map.addMarker(new MarkerOptions().position(latLng) 
       .icon(BitmapDescriptorFactory.fromBitmap(cs)) 
       // Specifies the anchor to be at a particular point in the marker image. 
       .snippet(a.mId) 
       .anchor(0.5f, 1)); 
    } 
+0

你可以发布一个截图目前的样子吗? – Houssni

+0

只有地图出现,带有隐形框。我知道他们在那里,因为我可以点击它们并获取工具提示。 –

+0

好吧,我想通了,必须使用drawColor,而不使用PorterDuff部件canvas1.drawColor(Color.WHITE); –

回答

0

PorterDuff.Mode.CLEAR使其透明,这就是为什么你没有看到他们,而他们在地图上,删除这样的说法。

相关问题