服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Android - Android 自定义标题栏背景

Android 自定义标题栏背景

2021-05-05 22:10Android开发网 Android

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

设置标题栏背景

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

Android 自定义标题栏背景

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

2> drawable文件夹下放xml文件

bitmap_repeat.xml

?
1
2
3
4
5
<?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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?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"

?
1
2
3
4
5
6
7
8
9
<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中引用

?
1
2
3
4
5
6
7
8
9
10
11
12
13
@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);
 
}

Android 自定义标题栏背景

延伸 · 阅读

精彩推荐