Vâng, câu trả lời thẳng cho câu hỏi của bạn về "nếu màu là 0x00ffffff, làm cách nào để thay đổi nó thành 0xffffffff?" chỉ cần sử dụng hợp chất bitwise hoặc: color |= 0xff000000;
.
Nhưng tôi nghĩ có thể một số đồng nghiệp muốn bạn không làm điều này ở phía java của phát triển Android: bạn có một lớp trợ giúp tuyệt vời được gọi là graphics.Color
provided by Android! Nó chỉ là những thứ tương tự bên dưới, nhưng thực sự sẽ giúp bạn đọc được mã, đặc biệt là xem xét một màu loại int
trong android không nhất thiết phải là giá trị màu hex nhưng cũng có thể trỏ đến một id bản sao của tài nguyên trong color
xml. Argh.
Một ví dụ sẽ là:
int color = tv.getCurrentTextColor();
int newColor = Color.argb(yourNewAlphaVal, Color.red(color), Color.green(color), Color.blue(color))
Không nhanh, nhưng tôi đoán bạn không cần nó được.
Tất nhiên, đây là ý kiến cá nhân về những gì cần sử dụng ở đây và tôi hy vọng điều này sẽ hữu ích!
Tôi đã tìm trong 'graphics.Color'. Không có phương pháp để đặt Alpha. Chỉ để có được Alpha. – Igor
Đã thêm API cấp 1: http://developer.android.com/reference/android/graphics/Color.html#argb(int, int, int, int) – Tom
Thực sự hy vọng điều này sẽ hữu ích. Lý do tại sao bạn không thể * đặt * một giá trị màu là nó là một 'int'. 'int' không thể được thiết lập trong java- bạn phải tạo một cái mới. Đó là lý do tại sao người trợ giúp chỉ là một tải của statics. – Tom