android 修改窗体标题的字体式样和…
自定义一个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文件。
.在eclipse中,选择File -> New -> Other菜单
.在弹出窗口中,选择Android/Android XML File,点击 Next
.在添加XML窗口中,输入文件名"styles.xml",选中Values,
输入文件夹路径"/res/values"
.然后点击 Finish
2、在res/values添加themes.xml文件。
操作方法同步骤1,只是文件名输入"themes.xml"
3、styles.xml文件的代码
[xhtml] view plain copy
- <?xml version="1.0" encoding="utf-8"?>
- <resources xmlns:adnroid="http://schemas.android.com/apk/res/android">
- <style name="CustomWindowTitleBackground" parent="android:WindowTitleBackground">
- <item name="android:background">@drawable/bgitem>
- style>
- <style name="CustomWindowTitle" parent="android:WindowTitle">
- <item name="android:textAppearance">@style/CustomWindowTitleTextitem>
- style>
- <style name="CustomWindowTitleText" parent="android:TextAppearance.WindowTitle">
- <item name="android:textColor">#00fitem>
- <item name="android:textSize">14spitem>
- <item name="android:textStyle">bolditem>
- style>
- resources>
4、themes.xml文件的代码
[xhtml] view plain copy
- <?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:windowTitleBackgroundStyle">@style/CustomWindowTitleBackgrounditem>
- <item name="android:windowTitleStyle">@style/CustomWindowTitleitem>
- style>
- resources>
5、修改工程的Manifest.xml文件
.在Activity中加入android:theme="@style/titleTheme"即可
[xhtml] view plain copy
- <?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、效果图
说明:
.关于@drawable/bg,它是title的背景图. bg.png格式。
直接在res目录下创建修文件夹drawable及文件bg.png即可。
.个人感觉,android的所有style和theme都是可以继承并且修改的。
关于style和theme的详细,可以查看一下的参考资料。
http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;f=core/res/res/values/styles.xml
http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;f=core/res/res/values/themes.xml
更多相关文章
- ArcGIS API for Android(安卓)案例教程 4
- Android(安卓)Resource的使用和介绍
- [置顶] Eclipse工程转换为Android(安卓)Studio工程
- 2011年Android(安卓)Binder机制学习笔记之一
- android 数据存储之 读写文件
- 初识 Android(安卓)Native Development Kit (NDK)
- Android(安卓)M 差分包的制作流程
- Android(安卓)8.1 开机流程分析(1)
- 关于用百度地图开发的准备工作