Android中取消系統標題欄的幾種方式

風靈使發表於2018-09-18

一、如果是繼承來自Activity的話可以採用如下方法:

1.採用程式碼設定

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);//remove title bar  即隱藏標題欄
     getSupportActionBar().hide();// 隱藏ActionBar
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);//remove notification bar  即全屏
        setContentView(R.layout.activity_main);
    }

2.在清單檔案中設定

<activity android:name=".MainActivity"
          android:label="@string/app_name"
          android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">

二、繼承來自AppCompatActivity採用如下方法:

在清單檔案中採用android:theme=@style/Theme.AppCompat.Light.NoActionBar”應用於application或者Activity,這個只能隱藏ActionBar

如果想連通知欄也隱藏,可在styles.xml中定義如下樣式,然後再在AndroidManifest.xml中的Application或者Activity上使用

  <style name="Theme.AppCompat.Light.NoActionBar.FullScreen" parent="@style/Theme.AppCompat.Light">
        <item name="android:windowNoTitle">true</item>//無標題
        <item name="android:windowActionBar">false</item>//無ActionBar
        <item name="android:windowFullscreen">true</item>//全屏即無通知欄
        <item name="android:windowContentOverlay">@null</item>//是否有遮蓋
    </style>

相關文章