首页 > 系统 > Android > 正文

Android中自定义标题栏样式的两种方法

2019-10-24 20:36:30
字体:
来源:转载
供稿:网友

这篇文章主要介绍了Android中自定义标题栏样式的两种方法,同时讲解了自定义标题栏布局的实现,需要的朋友可以参考下

原装的Android标题栏配色比较单调,就是黑色的一坨,现在假设你的软件需要独自添加标题栏,这样不仅美观而且可以将进度条等加进去,如何实现:

方法一

、在你的那张Activity中onCreate方法中加上下面代码:

 

 
  1. requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);  
  2. setContentView(R.layout.main); //软件activity的布局  
  3. getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.titlebar); //titlebar为自己标题栏的布局 

但是新的问题又来了,这样是无法深层的定制标题栏的,比如原有的高度和背景都没有发生变化,那有没有好的方法呢?答案是有的、

方法二:

因此先定义一个style,若修改背景请修改android:windowTitleBackgroundStyle

若修改标题栏高度,请修改android:windowTitleSize

例子:

 

 
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <resources xmlns:android="http://schemas.android.com/apk/res/android">  
  3.  
  4.  
  5. <style name="CustomWindowTitleBackground">  
  6. <item name="android:background">#565656</item>  
  7. </style>  
  8.  
  9.  
  10. <style name="test" parent="android:Theme">  
  11. <item name="android:windowTitleSize">50dp</item>  
  12. <item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>  
  13. </style>  
  14. </resources> 

在程序的android_manifest.xml中对应activity中添加属性android:theme = "@style/test" 就可以了

 

 
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
  3. package="com.guardian" 
  4. android:versionCode="1" 
  5. android:versionName="1.0">  
  6. <application android:icon="@drawable/icon" android:label="@string/app_name" >  
  7. <activity android:name=".Test" 
  8. android:label="@string/app_name" 
  9. android:theme = "@style/test" //就在这里  
  10. >  
  11. <intent-filter>  
  12. <action android:name="android.intent.action.MAIN" />  
  13. <category android:name="android.intent.category.LAUNCHER" />  
  14. </intent-filter>  
  15. </activity>  
  16.  
  17. </application>  
  18. <uses-sdk android:minSdkVersion="4" />  
  19.  
  20. </manifest> 

之后借助于设置自定义的标题栏xml文件,就可以自定义标题栏布局了

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表