完整代碼
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 1. 無標題(需在 setContentView 前)
requestWindowFeature(Window.FEATURE_NO_TITLE);
// 2. 全屏(狀態欄隱藏)
getWindow().setFlags(
WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
// 3. 設置佈局
setContentView(R.layout.activity_main);
// 4. 隱藏 ActionBar(AppCompatActivity)
if (getSupportActionBar() != null) {
getSupportActionBar().hide();
}
// 控件初始化...
}
關鍵順序
- `requestWindowFeature` **必須在 `setContentView` 之前**調用。
- `FLAG_FULLSCREEN` 設置於 `getWindow()`,生效於整個 Window。
- `getSupportActionBar().hide()` 針對 Toolbar/AppCompat ActionBar。
常見坑
- 主題已聲明 `NoActionBar`/`Fullscreen`,代碼重複調用導致異常。
- 沉浸式狀態欄(Android 4.4+)需額外設置 `SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN` 等,參考 進階教程。