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>
网友评论