android去除掉界面頭標籤與狀態欄(包含繼承AppCompatActivity)的V7包下

方式一:編碼方式

v7包下去掉標題欄 ActionBar

public class SplashAcitivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_splash);

    }
}

v7包下去掉標題欄,以及通知欄(狀態欄),全屏顯示

public class SplashAcitivity extends AppCompatActivity {

    @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_splash);
    }
}

v4包下去掉標題欄 ActionBar

public class SplashAcitivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        RequestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_splash);
    }
}



方式二:修改AndroidManifest.xml:

V7包下去掉標題欄 ActionBar

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.itheima.zhzx">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/Theme.AppCompat">
        <activity android:name=".SplashAcitivity" android:theme="@style/Theme.AppCompat.Light.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <activity android:name=".MainActivity">
        </activity>
    </application>

</manifest>

v7包下去掉標題欄,以及通知欄(狀態欄),全屏顯示(有異常)

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

但是這種方式異動是程序總是崩潰
原因,升級後theme是由appcompat_v7管理

所以這裏theme應該採用android:theme=@style/Theme.AppCompat.Light.NoActionBar”,這個只能隱藏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>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章