android应用中去掉标题栏

来源:互联网 发布:健美创研化妆品知乎 编辑:程序博客网 时间:2024/05/21 12:47

在Android应用中去掉标题栏主要有三种方法:

1.在activity的代码中实现,如:

MainActivity.this.requestWindowFeature(Window.FEATURE_NO_TITLE);

注意:这句代码要写在setContentView()前面。

2.在清单文件里设置

<application android:icon="@drawable/icon"           android:label="@string/app_name"           android:theme="@android:style/Theme.NoTitleBar">  

这样可以把整个应用都设置成无标题栏样式。

3.在styles.xml文件里定义view plain

  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <resources>  
  3.     <style name="notitle" parent="Theme.APpCompat.NoActionBar">  
  4.         <item name="android:windowNoTitle">true</item>  
  5.     </style>   
  6. </resources>  
然后在清单文件里引用就可以
  1. <application android:icon="@drawable/icon"   
  2.         android:label="@string/app_name"   
  3.         android:theme="@style/notitle">  

这种方式属于重新定义一个style,但必须继承NoActionBar.实际上我们可以直接在AppTheme里添加无标题设置即可:

点开AppTheme后添加<item name="android:windowNotitle">true</item>,同时AppTheme也必须继承NoActionBar.

3:如果我们的activity继承AppCompatActivity,通过代码MainActivity.this.requestWindowFeature(Window.FEATURE_NO_TITLE)是无法实现去掉标题栏效果的,代码无效。那么如果我们在xml文件设置  android:theme="@android:style/Theme.NoTitleBar"呢?结果运行出错

解决办法:

在AndroidManifest.xml中将主题更改为Theme.AppCompat.Light.NoActionBar、Theme.AppCompat.NoActionBar或Theme.AppCompat.DayNight.NoActionBar中的一个,即可隐藏标题栏

<application       android:icon="@mipmap/ic_launcher"       android:label="@string/app_name"       android:theme="@style/Theme.AppCompat.Light.NoActionBar"//成功隐藏标题栏>







原创粉丝点击