2011-08-18 112 views
0

我有一個圓形圖像,它在列表視圖中顯示。列表視圖的每個項目中都有一個文本和此圖像。此圓形圖像具有一種顏色。我可以如何使這個圖像的一部分覆蓋任何其他顏色。任何幫助將不勝感激。如何製作用不同顏色覆蓋的圓形圖像

回答

1

確保您擁有的圖像位於透明背景上。然後,剪切您想要改變顏色的圖像的一部分。然後,在你的程序中調用setBackgroundColor(int myColor),你設置的顏色將顯示出來。

編輯:使用Photoshop或您最喜愛的圖像編輯程序,通過確保圖像位於透明背景上來準備圖像。然後剪掉你想改變顏色的部分。將圖像保存到Android項目的drawable-hdpi文件夾中。然後,將背景顏色設置爲所需的顏色,並通過切口顯示。

ImageView icon = new ImageView(context); 
icon.setId(1);  
icon.setImageResource(R.drawable.paint_splat);  
icon.setBackgroundColor(pickedColour); 

在上面的例子,如下所示我paint_splat圖像:

enter image description here

白色區域不是白色的 - 它們是半透明的。如果您不知道如何操作,您需要閱讀您將使用的任何圖像編輯程序中的圖像編輯。 然後最後一次通話:

icon.setBackgroundColor(pickedColour); 

設置背景色,但這隻能通過圖像的透明部分可以看到,所以它改變了顏色,在我的情況下,油漆潑濺的。另外,如果用於前景色的顏色與應用程序的主屏色相匹配,則在我的示例中,圖示圖像具有黑色前景,而我的Android應用程序具有黑色屏幕,則只有彩色油漆圖示是可見,所以它看起來像整個圖像正在改變顏色。

+0

如何剪切圖像。如何僅爲該部分設置背景。 –

+0

如果這回答你的問題,請記住點擊綠色的勾號。 –

+0

不,這不是我的要求。但是,無論如何謝謝你,只需+1。 –

0

如果你想在運行時改變圖像的背景顏色......

然後用這個簡單的代碼...

它的工作不錯....

final ImageView image=(ImageView)findViewById(R.id.image_view); 

    int number1=(int) (Math.random()*255); 
    int number2=(int) (Math.random()*255); 
    int number3=(int) (Math.random()*255); 

    int image_colour=android.graphics.Color.rgb(number1, number2, number3); 
    image.setColorFilter(image_colour); 
相關問題