最近要隱藏Android標題列(Title Bar)、狀態列(Status Bar),參考網路上教學文章大多都說在onCreate()中加入
1 2 3 |
requestWindowFeature(Window.FEATURE_NO_TITLE); //隱藏標題列 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, //隱藏狀態列 WindowManager.LayoutParams.FLAG_FULLSCREEN); |
而且必須在setContentView之前,完整代碼如下:
1 2 3 4 5 6 7 8 9 10 11 12 |
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //隱藏標題列 requestWindowFeature(Window.FEATURE_NO_TITLE); //隱藏狀態列 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_main); } } |
但執行後發現沒有效果,後來查了文獻得知Android 3.0(API 11)之後Layout的繼承由 Activity變更為 AppCompatActivity。
所以現在如果要隱藏標題列、狀態列必須在onCreate()中加入
1 2 |
getSupportActionBar().hide(); //隱藏標題 getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN); //隱藏狀態 |
而且變為在setContentView之後,完整代碼如下:
1 2 3 4 5 6 7 8 9 10 11 |
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //設定隱藏標題 getSupportActionBar().hide(); //設定隱藏狀態 getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN); } } |
執行結果非常完美的把標題列隱藏起來了
謝謝分享:) 成功了!!