`
Darar
  • 浏览: 84872 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

自定义Android标题栏修改TitleBar的布局

阅读更多
Android程序默认的Activity标题栏只能显示一段文字,而且不能改变它的布局、颜色、标题栏的高度等。如果想要在标题栏加上个图标、button、输入框、进度条、修改标题栏颜色等,只能使用自定义的标题栏。自定义标题栏可以通过在onCreate函数中添加以下代码来实现,需要注意的是代码的顺序必须按照下面的样式,否则将无效。
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 
setContentView(R.layout.mainactivity);    //Activity的布局 
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.titlebar);   //标题栏的布局 


虽然上面这样可以在标题栏加入一些控件,但是仍然不能改变标题栏的高度、背景色,要想达到这个目的,只能使用theme(主题)。因此往project里先添加一个style。改变背景色修改android:windowTitleBackgroundStyle的值,改变标题栏高度则修改android:windowTitleSize的值。下面是一个示例:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="CustomWindowTitleBackground"> 
        <item name="android:background">#778899</item> 
    </style> 
    <style name="activityTitlebar" parent="android:Theme"> 
        <item name="android:windowTitleSize">32dp</item> 
        <item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item> 
    </style> 
</resources> 


接着再修改AndroidManifest.xml文件,找到要自定义标题栏的Activity,添加上android:theme值,比如:


<activity android:name=".MainActivity" android:theme="@style/activityTitlebar">

android:theme值就是上面那个style.xml文件里定义的一个style的name值。

按照以上的步骤,修改标题栏布局、高度、背景色的功能就实现了。



分享到:
评论

相关推荐

    Android自定义顶部标题栏

    本文实例为大家分享了Android自定义顶部标题栏展示的具体代码,供大家参考,具体内容如下 思路及实现步骤 1.定义标题栏布局 2.自定义TitleActivity控制标题栏按钮监听 3.在TitleActivity中实现标题栏以下内容切换 ...

    Android代码-android-titlebar

    开发过程中,如果页面过多,需要构建大量重复的标题栏布局,浪费开发时间且不利于后期维护。本项目总结了几种常用的使用场景,将标题栏封装成控件,Java代码实现,对当前主流的沉浸式提供了支持,供有需要的同学使用...

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

    原装的Android标题栏配色比较单调,就是黑色的一坨,现在假设你的软件需要独自添加标题栏,这样不仅美观而且可以将进度条等加进去,如何实现: 方法一、在你的那张Activity中onCreate方法中加上下面代码: ...

    Android自定义简单的顶部标题栏

    本文实例为大家分享了Android实现简单顶部标题栏的具体代码,供大家...1.创建一个布局文件,命名,layout_titlebar,来部署我们的标题栏样式,可以自定义更改,图片文件可暂时用自己的替代 &lt;?xml version=1.0 encoding=u

    Android编程自定义title bar(标题栏)示例

    主要介绍了Android编程自定义title bar(标题栏)的方法,结合实例形式分析了Android针对标题栏的设置与页面布局操作相关技巧,需要的朋友可以参考下

    CustomTitleBar:一个简单的自定义标题栏

    一个简单的自定义标题栏 在布局文件中的应用: &lt;aa.customtitlebar.ui.widget.CustomTitleBar android:id="@+id/id_ctb_main" android:layout_width="match_parent" android:layout_height="50dp" android:...

    ActionBarEx:高拓展高自定义性ActionBar,完美替代Android系统默认

    支持自定义标题栏布局,支持XML中直接以子布局编写 支持自定义前景布局,如显示Loading效果 支持自定义背景布局,如图片等 支持自定义底部分割线,可以投影效果显示在外部 支持自适应状态栏暗亮色图标模式,可实时...

    Android 组合控件实现布局的复用的方法

    看到很多项目会有实现自己的标题栏的做法,通常的界面是左边按钮或文字,加上中间的标题和右边的按钮或文字组成的。比较好的一种做法是使用include标签,复用同一个xml文件来实现布局的复用。但是这种方法是通过代码...

    Android开发资料合集-World版!

    4.4.1、非全屏状态下不显示title标题栏 50 4.4.2、标题栏进度指示器 50 4.4.3、titleBar 高级实现方法(更美观) 51 4.4.4、获取标题栏和状态栏高度 57 4.4.5、标题栏显示简单的进度框 57 4.5、MENU 58 4.5.1、简单的...

    Android 开发技巧

    4.4.1、非全屏状态下不显示title标题栏 50 4.4.2、标题栏进度指示器 50 4.4.3、titleBar 高级实现方法(更美观) 51 4.4.4、获取标题栏和状态栏高度 57 4.4.5、标题栏显示简单的进度框 57 4.5、MENU 58 4.5.1、简单的...

Global site tag (gtag.js) - Google Analytics