自定义一个layout,然后通过requestWindowFeature和getWindow().setFeatureInt方法调用,
但是,我只是想改变标题栏字体的大小、颜色,并设置一个背景图片,并不想定义一个layout的xml文件。
那么,android有没有提供解决上述问题的方法呢,答案是肯定的,一定可以。
默认的标题栏式样太难看了,灰不啦吉的。
后来参考了一篇洋人博友的文章,最终有所收获。
http://zaman91.wordpress.com/2010/03/18/android-how-to-customize-default-themes-and-styles/
具体的操作步骤是:
1、在res/values添加styles.xml文件。
2、在res/values添加themes.xml文件。
3、styles.xml文件的代码
- <?xml
version="1.0" encoding="utf-8"?> - <resources
xmlns:adnroid="http://schemas.android.com/apk/res/android"> -
- <style
name="CustomWindowTitleBackgro und" parent="android:WindowTitleBackground"> -
<item name="android:background">@drawable/bg</item> - </style>
-
- <style
name="CustomWindowTitle" parent="android:WindowTitle"> -
<item name="android:textAppearance">@style/CustomWindowTitleText</item> - </style>
-
- <style
name="CustomWindowTitleText" parent="android:TextAppearance.WindowTitle"> -
<item name="android:textColor">#00f</item> -
<item name="android:textSize">14sp</item> -
<item name="android:textStyle">bold</item> - </style>
-
- </resources>
4、themes.xml文件的代码
- <?xml
version="1.0" encoding="utf-8"?> - <resources
xmlns:adnroid="http://schemas.android.com/apk/res/android"> -
- <style
name="titleTheme" parent="android:Theme" > -
<!-- <item name="android:windowTitleSize">30dp</item> --> -
<item name="android:windowTitleBackgroundSty le">@style/CustomWindowTitleBackgro und</item> -
<item name="android:windowTitleStyle">@style/CustomWindowTitle</item> - </style>
-
- </resources>
5、修改工程的Manifest.xml文件
- <?xml
version="1.0" encoding="utf-8"?> - <manifest
xmlns:android="http://schemas.android.com/apk/res/android" -
package="com.android.customtitle" -
android:versionCode="1" -
android:versionName="1.0"> -
<application android:icon="@drawable/icon" android:label="@string/app_name"> -
<activity android:name=".CustomTitle" -
android:label="@string/app_name" -
android:theme="@style/titleTheme"> -
<intent-filter> -
<action android:name="android.intent.action.MAIN" /> -
<category android:name="android.intent.category.LAUNCHER" /> -
</intent-filter> -
</activity> -
-
</application> -
<uses-sdk android:minSdkVersion="9" /> -
- </manifest>
6、效果图
说明:
关于style和theme的详细,可以查看一下的参考资料。