2018-10-17

2018-10-17  本文已影响2人  mahongyin

android编程取消标题栏方法(appcompat_v7、Theme.NoTitleBar)

方式一:编码方式

@Override

    protectedvoid 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);    }

方式二:修改AndroidManifest.xml:

<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>

上一篇 下一篇

猜你喜欢

热点阅读