2017-01-09 101 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使其透明,這就是爲什麼你沒有看到他們,而他們在地圖上,刪除這樣的說法。

相關問題