Android

关注公众号 jb51net

关闭
首页 > 软件编程 > Android > Android 自定义标题栏背景

Android 自定义标题栏背景

投稿:hebedich

最近在做android项目,需要做一个自定义的标题栏(操作栏)。去网上找了很多demo,发现都有很多问题。例如使用自定义的style。下面来分享下个人最终的解决方案吧

设置标题栏背景

1> 准备背景图片: background_pix.png

注:用背景图片比用颜色好处,可以让背景看起来有凹凸感.

2> drawable文件夹下放xml文件

bitmap_repeat.xml

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android" 
  android:src="@drawable/title_pic"
  android:tileMode="repeat"> 
</bitmap>

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>

自定义标题栏layout文件ct_title.xml
注: ct_title.xml文件中用如下方式设置标题栏背景会出下填充不满效果

android:background="@drawable/bitmap_repeat "
在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);

}

您可能感兴趣的文章:
阅读全文