去掉Activity的头部标题栏及全屏显示解决方案

之前就有这个问题,改过后,没有总结,正好看到这篇博客(https://blog.csdn.net/buaaroid/article/details/50474023),在此记录一下

推荐使用方案二

方案一:通过java代码的方式实现以上要求

在oncreate方法内加入下面这句去掉activity的头部标题栏

[java]  view plain  copy
  1. requestwindowfeature(window.feature_no_title);  

  

在oncreate方法内加入下面这句全屏显示

[java]  view plain  copy
  1. getwindow().setflags(windowmanager.layoutparams.flag_fullscreen, windowmanager.layoutparams.flag_fullscreen);  

  

[java]  view plain  copy
  1. requestWindowFeature(Window.FEATURE_NO_TITLE); // 注意顺序  
  2. getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);    


重构方案:将requestwindowfeature(window.feature_no_title)抽取到baseactivity中避免在每一个activity中都写这一句

方案二:通过配置androidmanifest.xml文件的方式实现以上要求

在application节点加入下面这句即可去掉整个应用程序的activity的头部标题栏

[java]  view plain  copy
  1. android:theme="@android:style/theme.light.notitlebar"  

  

在配置欢迎界面的activity节点加入下面这句即可去掉欢迎界面的activity的头部标题栏,并且实现全屏

[java]  view plain  copy
  1. android:theme="@android:style/theme.light.notitlebar.fullscreen"  

在这里我还想说明一下,用前者在我们应用运行后,会看到短暂的状态栏,然后才全屏,而第二种方法是不会有这种情况的,所以我建议大家使用后者!

如果还有其他需求:1.自定义主题样式继承以上样式;2.重写指定属性;3.应用该自定义样式到activity或application配置节点


搜索此文相关文章: 去掉Activity的头部标题栏及全屏显示解决方案

此文链接:http://www.makaidong.com/%E7%B2%BE%E5%8D%8E%E5%8D%9A%E6%96%87/83331.shtml

--------------------------------------------我是华丽的分割线--------------------------------------------------------

注意:Google新推出的appcompat_v7的时候,发现当项目引用这个兼容项目,继承自ActionBarActivity 和 AppCompatActivity的Activity ,必须使用Theme.Appcompat系列的Style才行,不然程序运行会报错的。我要Activity不显示标题栏,但是Theme.Appcompat系列的主题中就没有NoTitleBar之类的,那怎么设置主题呢?

新建的Activity继承自ActionBarActivity,设置全屏无标题本来很简单的事,但是没想到app竟然无缘无故的挂,要么就是白屏一片,要么就是黑屏。坑了我一个多小时!!!

原因是ActionBarActivity设置theme的时候只能使用v7包里的Theme.AppCompat***开头的主题,因此设置全屏无标题的话需要自定义个style:

<style name="ActionBarFullScreen" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowContentOverlay">@null</item>
</style>
然后在androidManifiest.xml里:设置android:theme="@style/ActionBarFullScreen"就ok了!


另外一种解决方法是,将继承的ActionBarActivity改为FragmentActivity或Activity,然后theme直接设置Android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen"就ok了!

猜你喜欢

转载自blog.csdn.net/u014748504/article/details/80252237