Cóż, prosta odpowiedź na twoje pytanie o "jeśli kolor to 0x00ffffff, w jaki sposób mogę go zmienić na 0xffffffff?" po prostu użyć związku bitowego lub: color |= 0xff000000;
.
Ale liczyć może niektórzy współpracownicy woleliby nie zrobiłeś tego typu rzeczy na java-side rozwoju Android: masz wspaniałą klasę pomocniczą o nazwie graphics.Color
provided by Android! Pod spodem ma to samo znaczenie, ale naprawdę pomoże w czytelności kodu, szczególnie biorąc pod uwagę, że kolor typu int
w systemie android niekoniecznie jest wartością koloru szesnastkowego, ale może również wskazywać na art-biblijny identyfikator zasobu w pliku xml o wartości color
. Argh.
np byłoby:
int color = tv.getCurrentTextColor();
int newColor = Color.argb(yourNewAlphaVal, Color.red(color), Color.green(color), Color.blue(color))
Nie szybko, ale zgaduję, że nie trzeba go mieć.
Oczywiście, to jest osobista opinia na temat tego, co tu używać i mam nadzieję, że to pomoże!
Już zajrzałem do 'graphics.Color'. Nie ma metody, aby ustawić Alpha. Tylko po to, aby zdobyć Alphę. – Igor
Dodano poziom API 1: http://developer.android.com/reference/android/graphics/Color.html#argb(int, int, int, int) – Tom
Naprawdę mam nadzieję, że to pomaga. Powodem, dla którego nie możesz * ustawić * wartości koloru jest to, że jest to 'int'. 'int' nie można ustawić w java - musisz utworzyć nowy. Dlatego pomocnik to tylko ładunek statyki. – Tom