2012-08-26 39 views
1

我試圖在另一個背景上製作一種顏色的圓。setBackgroundColor()和setBackground()在android中互斥

background = new ShapeDrawable(new OvalShape()); 
background.getPaint().setColor(main.getResources().getColor(R.color.XXX)); 
view.SetBackground(background); 

將爲彩色圓圈工作,

view.setBackgroundColor(getResources().getColor(R.color.XXX)); 

將爲後臺工作,但他們是相互排斥的。它只是最後的結果。有沒有辦法在另一個重疊視圖或類似的東西上創建圈子?

+0

這不是我自己試過的東西,但你看過這個指南畫布和Drawables? http://developer.android.com/guide/topics/graphics/2d-graphics.html – Squonk

回答

1

setBackgroundColor()基本上是將視圖的背景更改爲可繪製顏色的捷徑。

做你想做的,你可以試試下面介紹的2兩件事是什麼:

  1. 放在一個的FrameLayout視圖,在的FrameLayout設置背景顏色,並把形狀在視圖中。

  2. 你也可以嘗試使用ImageView的,它可以有一個背景,並與setImageDrawable()方法的另一個繪製。

+0

使用ImageView在黑色背景上繪製白色橢圓的網格,而是在白色背景上給出水平黑色線條。我還沒有嘗試過FrameLayout。 我試圖在他們自己的網格外測試他們兩個。即使我根本沒有修改它,每個人都會因爲沒有明顯的原因而崩潰編程。它是否需要用drawable或其他東西創建? – DanielLC

+0

你能發佈你的代碼嗎? –

+0

FrameLayout似乎工作。 – DanielLC