android自定义标题栏,解决背景颜色填充满
1. 设置标题栏背景
1> 准备背景图片: background_pix.png
![android自定义标题栏,解决背景颜色填充满 android自定义标题栏,解决背景颜色填充满](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
注:用背景图片比用颜色好处,可以让背景看起来有凹凸感.
2> drawable文件夹下放xml文件
bitmap_repeat.xml
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/background_pix" android:tileMode="repeat" />
3> 定义样式文件style.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- 自定义标题样式 -->
<style name="StatusBarBackground">
<item name="android:background">@drawable/bitmap_repeat
</item>
</style>
<style name="XTheme" parent="android:Theme">
<!-- Window attributes -->
<item name="android:windowTitleBackgroundStyle">@style/StatusBarBackground </item>
</style>
<!-- 自定义标题样式 -->
</resources>
4> 在manifest.xml中引用主题android:theme="@style/XTheme"
<activity android:name=".activity.MainActivty"
android:screenOrientation="portrait"
android:configChanges="keyboardHidden|orientation"
android:theme="@style/XTheme">
</activity>
2. 自定义标题栏layout文件ct_title.xml
注: ct_title.xml文件中用如下方式设置标题栏背景会出下填充不满效果 android:background="@drawable/bitmap_repeat "
3. 在activity中引用
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,
R.layout.ct_title);
}
更详细分析:http://www.iteye.com/topic/760314