2015-11-08 61 views
0

我有一個XML矢量像這樣的:僅更改一個圖像顏色到另一

<vector xmlns:android="http://schemas.android.com/apk/res/android" 
     android:width="16dp" 
     android:height="16dp" 
     android:viewportWidth="16.0" 
     android:viewportHeight="16.0"> 
    <path 
     android:fillColor="#FFFFFF" 
     android:pathData="M8,14c-3.3,0 -6,-2.7 -6,-6s2.7,-6 6,-6s6,2.7 6,6S11.3,14 8,14z"/> 
    <path 
     android:fillColor="#000000" 
     android:pathData="M8,4c2.2,0 4,1.8 4,4s-1.8,4 -4,4s-4,-1.8 -4,-4S5.8,4 8,4M8,0C3.6,0 0,3.6 0,8c0,4.4 3.6,8 8,8c4.4,0 8,-3.6 8,-8C16,3.6 12.4,0 8,0L8,0z"/> 
</vector> 

這使得此:
enter image description here

注意,該內部部分是白色的,外面是透明(因爲頁面背景是白色的,所以我們不能注意到stackoverflow)。

我想只改變黑色部分的顏色爲其他顏色(例如藍色),同時保留白色和透明部分。

我試着使用:

imageView.setColorFilter(newColor, PorterDuff.Mode.SRC_ATOP); 

但是這使得黑色和白色部分的藍色。

有沒有辦法在android中只更改黑色部分?

回答

0

對於具有類似的問題的人,這是我最終使用的解決方法:

我除去載體(所以有一個黑色的)的白色部分,我將其設置爲圖像資源。
然後我做了一個白色圓圈形狀,並將其設置爲ImageView的背景。

現在,當我設置彩色濾鏡時,它只改變了前景的顏色 - 戒指。

相關問題