android自定义标题栏

android自定义标题栏需要在Activity的 onCreate() 函数的最开始处也就是 super.onCreate() 之后,添加下面一行代码:

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);   //设定标题栏的格式为自定义标题栏

然后就可以添加自定义的标题栏了,添加自定义标题栏的代码是:

getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, 

               R.layout.titlebtn); // titlebtn这个layout是自定义标题栏的布局文件

如下所示:

@Override
 protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);

    // 设置标题栏
    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
    setContentView(R.layout.activity_loca_space);
    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,
        R.layout.titlebtn);

}

设置完成自定义标题栏的布局文件之后,运行如果报错:程序中混淆了多种标题栏,那么就需要编辑配置文件AndroidManifest.xml,

在Application或者Activity节点添加 android:theme="@style/titlestyle" 属性,本例中的titlestyle是自定义的主题文件,当然也可以用系统自带的主题,如 android:theme="@android:style/Theme.Dialog"  。

titlestyle.xml:

<?xml version="1.0" encoding="utf-8"?>
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android">    
     <style name="TitleBackgroundColor">
         <item name="android:background">#00000000</item>
     </style>
     <style name="titlestyle" parent="android:Theme" >
         <item name="android:windowTitleSize">32dip</item>   
         <item name="android:windowTitleBackgroundStyle">@style/TitleBackgroundColor</item>
     </style>
 </resources>

posted @ 2013-12-17 09:34  白少伟  阅读(1331)  评论(0编辑  收藏  举报