2017-03-09 18 views
1

我需要一個小建議如何設置多個顏色的方法setBackgroundColor,我設法做出多種顏色,但只有當程序隨機選擇顏色但我想設置特定4種或五種顏色,這裏是我的代碼的一部分: (所以選擇的對象就可以改變顏色)想要設置多種顏色的方法setBackgroundColor()

if (isSelected) 
    style.setBackgroundColor (new Color ((float) Math.random(), 
             (float) Math.random(), 
             (float) Math.random())); 
    else 
    style.unsetBackgroundColor(); 
+0

您將如何設置多個背景色?實際上使用哪種顏色作爲背景顏色? –

+0

來解釋它實際上並不是整個框架的背景顏色,它只是一個對象的背景顏色,顯示在框架上,如果我點擊該對象,它應該改變該對象的顏色。這就是爲什麼我需要多於一種顏色,以便我可以改變它點擊 – Mapet

回答

0

既然你要4種或5個特定的顏色,你可以做的是使名單。

ArrayList<Color> colorList = new ArrayList<Color>(); 
//Then you add any colors you want, although you would have to define them yourself. 
colorList.add(color1); 

將顏色添加到顏色列表後,您需要一種方法來獲取隨機顏色。我們可以這樣做的一種方法是製作一個Random對象,並使用它來查找從0到列表大小的整數。

Random rand = new Random(); 
int colorNum = rand.nextInt(colorList.size()); 

既然我們有實際的號碼,我們可以簡單地訪問列表中的索引。

Color c = colorList.get(colorNum); 
//Now, assuming your code above works for one color, you could do your 
style.setBackgroundColor(c); 

這樣你可以在添加任何顏色,甚至使基於用戶請求的顏色只要你把它添加到列表中,將處理任何顏色。

+0

謝謝Raheel138,它工作:) – Mapet