啟動半透明 `Activity` (如 `Theme.Translucent` 或 `Theme.Dialog`),背景 `Activity` 顯示過暗或過亮,無法達到「毛玻璃/霧面」效果。
半透明 `Activity` 的窗口背景預設為**黑色半透明** (`#80000000`),疊加在下層 `Activity` 上導致整體變暗。若設置 `android:background="@android:color/transparent"` 則完全透明,失去遮罩層次感。
public class TopActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 設置窗口屬性 (需在 setContentView 前)
getWindow().setBackgroundDrawableResource(R.drawable.translucent_white_bg);
// 或程式碼設置
// getWindow().setBackgroundDrawable(new ColorDrawable(0x80FFFFFF));
setContentView(R.layout.activity_top);
}
}
`res/drawable/translucent_white_bg.xml`:
| 背景顏色 | 視覺效果 | 適用場景 |
|---|---|---|
| 黑色半透明 `#80000000` (預設) | 背景變暗、陰鬱 | 對話框、底部彈窗 |
| 白色半透明 `#80FFFFFF` | 背景變亮、霧面/毛玻璃感 | 引導頁、輕量彈窗、選擇器 |
| 完全透明 `#00000000` | 無遮罩、內容直接疊加 | 全屏透明 UI、AR 覆蓋層 |
| 模糊背景 (RenderScript/BlurView) | 高級毛玻璃、材質感 | Material Design 3、高端 App |