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

android开发之定制标题栏 --- 附源码

 
阅读更多

在开发上个应用 话费速查 的时候,需要修改标题栏的样式,但是android自身的标题栏是不支持修改样式的,因此需要通过下面的方式让android支持自定义标题栏:

 

super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title);

 

 注意上面的代码顺序不要改变,否则不会有效果。

 

上面的R.layout.title就是自定义标题栏的布局文件:

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_gravity="center_vertical">
        <ImageView
            android:src="@drawable/phone"
            android:contentDescription="@string/desc"  
            android:gravity="center_vertical"
        	android:layout_width="wrap_content"
            android:layout_height="fill_parent"/>
        <TextView android:text="@string/app_name"
        	android:layout_width="wrap_content"
            android:layout_height="fill_parent" 
            android:layout_marginLeft="5dip"
            android:gravity="center_vertical"
            android:textColor="#FFFFFF"
            android:textSize="20sp"/>
        <TextView android:text="@string/use_tips"
        	android:layout_width="wrap_content"
            android:layout_height="fill_parent" 
            android:layout_marginLeft="10dip"
            android:gravity="center_vertical"
            android:textColor="#ABACAC"
            android:textSize="15sp"/>
</LinearLayout>

 

但是仅仅这样,还是不够的。标题栏的背景颜色和高度还是不能改变,还需要给它定义样式:

 

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android ="http://schemas.android.com/apk/res/android">
    <style name ="CustomWindowTitleBackground">
          <item name ="android:background">#1F497D</item>
    </style>
    <style name="title"  parent="android:Theme"> 
        <item name ="android:windowTitleSize">45dp</item> 
        <item name ="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item> 
  </style> 
</resources>

  上面样式文件中的背景颜色 和 标题大小都是可以自己修改的。

 

最后,将该样式应用到Main Activity(即启动Activity):

 

 

<activity
            android:name=".BillQueryActivity"
            android:label="@string/app_name" 
            android:theme="@style/title">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

 

好了,现在可以看看效果了:


 

 

源码下载地址:点击这里

  • 大小: 225.4 KB
2
0
分享到:
评论
2 楼 mvpstevenlin 2012-04-20  
写得很好啊!!!
1 楼 aswang 2012-04-12  
奇怪,iteye上传的附件都不显示了,怎么回事?

相关推荐

    android开发之定制标题栏 --- 附

    在Android应用开发中,自定义标题栏是一种常见的需求,它能帮助我们打造出具有独特风格的用户界面。本文将深入探讨如何在Android项目中实现自定义标题栏,以及可能遇到的相关问题。 首先,Android的标题栏通常由...

    自定义标题栏源码

    在Android应用开发中,标题栏(Toolbar)是用户界面的重要组成部分,它提供了应用程序的品牌标识、导航功能以及操作选项。自定义标题栏可以帮助开发者创建符合应用风格的个性化UI,提升用户体验。本篇将深入探讨如何...

    Android开发之获取通知栏的内容源码

    在Android开发中,获取通知栏的内容是一项常见的需求,特别是在做系统监控、日志记录或者定制化功能时。本文将深入探讨如何通过源码实现这一功能,主要涉及Android的通知系统架构和相关API的使用。 首先,我们需要...

    Android高级应用源码-仿微信标题栏右上角PopupWindow.zip

    在Android开发中,微信标题栏右上角的PopupWindow是一个常见的高级交互元素,它通常用于显示下拉菜单、设置选项或其他扩展操作。本资源提供的"Android高级应用源码-仿微信标题栏右上角PopupWindow.zip"是一个示例...

    Android应用源码之仿微信标题栏右上角PopupWindow.zip

    本项目“Android应用源码之仿微信标题栏右上角PopupWindow”旨在实现一个与微信应用类似的标题栏功能,特别是在右上角的下拉PopupWindow效果。这个功能通常用于展示更多的操作选项或者设置,增强了用户体验。 首先...

    Android窗体自定义标题栏

    它提供了丰富的API来定制标题栏的样式和行为。 ```xml &lt;!-- activity_main.xml --&gt; &lt;androidx.appcompat.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height...

    自定义顶部标题栏 源码

    在Android开发中,自定义顶部标题栏是一种常见的需求,它能帮助我们实现更个性化的界面设计,提升用户体验。本文将深入探讨如何通过源码来实现自定义顶部标题栏。 首先,我们需要理解Android系统的布局结构。在...

    Android高级应用源码-状态栏通知小图标,notification通知.zip

    此压缩包"Android高级应用源码-状态栏通知小图标,notification通知.zip"显然包含了关于如何在Android应用中实现状态栏通知,特别是定制小图标的示例代码。 状态栏通知通常由三部分组成:通知图标、通知标题和通知...

    Android高级应用源码-通知栏框架(Notificaiton)的全面学习.zip

    在Android开发中,通知栏(Notification)是向用户传达应用后台事件或信息的重要途径,它允许应用程序在状态栏中显示消息,即使应用不在前台运行也能触达用户。本资料包"Android高级应用源码-通知栏框架...

    Android-JToolBar自定义标题栏控件可以通过水平扩展

    在Android应用开发中,UI设计和用户体验是至关重要的部分,其中标题栏(Toolbar)作为界面的重要组成部分,常常需要根据需求进行定制以满足不同应用的视觉风格和交互需求。本篇文章将详细探讨如何利用JToolBar这一...

    自定义标题栏CustomToolBar源码

    在Android应用开发中,自定义标题栏(CustomToolBar)是一个常见的需求,它允许开发者根据自己的设计风格和功能需求定制化应用的顶部导航区域。本文将深入解析如何创建一个自定义标题栏,以及如何在项目中高效地应用和...

    Android安卓应用源码-消息推送通知栏类源代码(5例).zip

    在Android开发中,消息推送和通知栏管理是关键部分,它们允许应用在后台与用户进行交互,即使应用没有运行在前台。本资源包含五个不同示例的源代码,旨在帮助开发者理解和实现Android应用中的消息推送通知功能。下面...

    android视频播放器-源码.

    - **定制化标题栏**:使用`setFeatureInt()`方法指定标题栏的自定义布局。 - **按钮点击事件**:为标题栏中的按钮设置监听器,当点击时启动新的`Activity`(文件浏览器)。 - **视频播放逻辑**:通过`Intent`获取...

    Android应用源码之TitleProgressBar-IT计算机-毕业设计.zip

    这个源码库提供了一个可定制化的解决方案,帮助开发者在应用程序的标题栏上显示进度信息,增强用户体验。通过分析和学习这份源码,我们可以深入理解 Android 自定义视图的原理以及如何在实际应用中实现动态效果。 ...

    安卓Android源码——Zirco-browser浏览器.zip

    【标题】:“安卓Android源码——Zirco-browser浏览器” ...通过这个开源项目,开发者不仅可以学习到Android应用开发的实践技巧,还能了解到如何构建一个功能完备的移动浏览器,这对于提升Android开发能力非常有帮助。

    uni-app-自定义标题栏示例.zip

    【uni-app自定义标题栏示例】是一个基于uni-app框架的源码分享,适用于开发者们在构建跨平台移动应用时自定义应用标题栏的需求。uni-app是一个由DCloud(即海马云)推出的开源项目,它允许开发者使用Vue.js语法编写...

    自定义标题栏CustomToolBar源码 此标题栏可以作为一个ap

    本文将深入探讨如何使用Java或Kotlin来实现一个自定义的标题栏——CustomToolBar,并分享其源码分析。 首先,CustomToolBar的创建通常基于Android原生的Toolbar组件。Toolbar是Android Lollipop版本引入的一个可...

    actionbar标题栏源码

    在Android应用开发中,ActionBar是一个重要的组件,它位于应用程序界面的顶部,通常包含应用的logo、标题以及一些操作按钮。...同时,这也有助于提升Android开发技能,使开发者能够应对更多复杂的设计需求。

Global site tag (gtag.js) - Google Analytics