Android 顏色為 32 位整數,十六進制表示 0xAARRGGBB:
int color = 0x30F8F8F8;
// 二進制: 0011 0000 1111 1000 1111 1000 1111 1000
// 拆解:
int alpha = 0x30; // 48/255 ≈ 19% 不透明度 (較透明)
int red = 0xF8; // 248
int green = 0xF8; // 248
int blue = 0xF8; // 248
// 視覺效果:接近白色 (#F8F8F8) 但帶 19% 透明度
| 十六進制 | 含義 | 視覺 |
|---|---|---|
| 0xF8F8F8 | 無 Alpha (默認 0xFF) | 不透明淺灰 |
| 0x00F8F8F8 | Alpha=0 (全透明) | 不可見 |
| 0x80FF0000 | 50% 透明紅 | 半透明紅 |
| 0xFFFF0000 | 不透明紅 | 純紅 |
int color = 0x30F8F8F8;
int alpha = Color.alpha(color); // 48
int red = Color.red(color); // 248
int green = Color.green(color); // 248
int blue = Color.blue(color); // 248
// 重新組裝
int newColor = Color.argb(alpha, red, green, blue);
<color name="transparent_gray">#30F8F8F8</color>
android:background="#30F8F8F8"
int 有符號,0xFF000000 為負數,但位運算與 Color 類處理無影響。0xff0000 == 0xFF0000。#RRGGBBAA (Alpha 在後) 與 Android #AARRGGBB (Alpha 在前) 順序相反,切勿混淆。掌握 ARGB 位佈局,讀懂十六進制顏色值,UI 還原與動態計算不再靠猜。