Android 去掉title bar的3个方法

来源:互联网 发布:用手机怎样开淘宝网店 编辑:程序博客网 时间:2024/05/16 13:41
1. Java代码实现 
Java代码  收藏代码
  1. @Override  
  2. public void onCreate(Bundle savedInstanceState) {  
  3.         super.onCreate(savedInstanceState);  
  4.   
  5.         requestWindowFeature(Window.FEATURE_NO_TITLE);   
  6.   
  7.         setContentView(R.layout.main);  
  8.         //...  
  9. }  

留意这语句所在的位置的,似乎所有requestWindowFeature的操作都要放在setContentView的前面。 

但使用这种方法,用户体验不太好,在Activity将要显示时,仍然会出现title bar,然后再去掉的。 

2. 自定义style配置文件 
在\res\values里面的style.xml添加: 
Java代码  收藏代码
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <resources>  
  3.         <style name="NoTitle" parent="android:Theme">  
  4.                 <item name="android:windowNoTitle">true</item>  
  5.         </style>  
  6. </resources>  

这里的代码应该看明白了吧! 
然后在AndroidManifest.xml文件里,给需要去掉title bar的activity的节点上加上android:theme="@style/NoTitle,代码如下: 
Java代码  收藏代码
  1. <activity android:name=".MainActivity"  
  2.                     android:configChanges="orientation|keyboardHidden"  
  3.                     android:theme="@style/NoTitle" />  


3. 直接在AndroidManifest.xml中进行修改 
原来我们可以无需自定义style配置的,直接调用系统的就行了: 
Java代码  收藏代码
  1. <activity android:name=".MainActivity"  
  2.                     android:configChanges="orientation|keyboardHidden"  
  3.                     android:theme="@android:style/Theme.NoTitleBar" />  


如果我们要设置整个Application都去掉title bar,那么就设置application: 
Java代码  收藏代码
  1. <application android:icon="@drawable/lightbulb" android:label="@string/app_name"  
  2.                     android:theme="@android:style/Theme.NoTitleBar">  
原创粉丝点击