android中默认的TitleBar是很单调的,今天我想自定义一个TitleBar,有两种实现方式:
第一种:
把Activity设置成没有Title的,然后在顶部模拟一个Title就可以了,这种方法就不说了;
第二种方法:
自己写一个布局文件,然后赋值给Title,代码如下:
其中,title_layout即你想要的TitleBar布局,如果你还想改变TitleBar的高度的话,那就得修改这个Activity的theme,代码如下:
首先在styles文件中设置一个theme
然后再Mainfest中设置activity的theme:
[img]http://dl.iteye.com/upload/attachment/588448/f0dd266a-4059-366a-8452-9fdf15a0e1a4.png[/img]
第一种:
把Activity设置成没有Title的,然后在顶部模拟一个Title就可以了,这种方法就不说了;
第二种方法:
自己写一个布局文件,然后赋值给Title,代码如下:
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title_layout);
其中,title_layout即你想要的TitleBar布局,如果你还想改变TitleBar的高度的话,那就得修改这个Activity的theme,代码如下:
首先在styles文件中设置一个theme
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="custom_window_title_background">
<item name="android:background">@drawable/images</item>
</style>
<style name="custom_title">
<item name="android:windowTitleSize">64dp</item>
<item name="android:windowTitleBackgroundStyle">@style/custom_window_title_background</item>
</style>
</resources>
然后再Mainfest中设置activity的theme:
<activity
android:label="@string/app_name"
android:name=".CustomTitleBarActivity"
android:theme = "@style/custom_title" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
[img]http://dl.iteye.com/upload/attachment/588448/f0dd266a-4059-366a-8452-9fdf15a0e1a4.png[/img]