雖然上面的答案應該做的伎倆,您的情況,你可能會看看Color.argb()
方法。不知道你是如何獲取用戶輸入的,但我們只是假定他們是EditText
對象:
EditText a, r, g, b;
//initialize them
int aInt, rInt, gInt, bInt;
try {
aInt = Integer.valueOf(a.getText().toString());
bInt = Integer.valueOf(b.getText().toString());
cInt = Integer.valueOf(c.getText().toString());
dInt = Integer.valueOf(d.getText().toString());
} catch (NumberFormatException ex) {
//Throw a warning dialog that the user's input was invalid
}
view.setBackgroundColor(Color.argb(aInt, rInt, gInt, bInt));
當然,這是假設你在0-255的整數的形式獲取輸入。
編輯:其實,如果你只是想改變它的阿爾法部分,它會容易得多。你可以從0-255的整數得到用戶的輸入,驗證它,並且這樣做:
EditText alpha;
String alphaString;
try {
alphaString = Integer.toHexString(alpha.getText().toString());
} catch (NumberFormatException ex) {
//Throw warning
}
view.setBackgroundColor(Color.parseColor("#" + alphaString + "000000"));
所以你想要連接,正確嗎? – 2013-02-08 17:50:07