`

自定义Android标题栏TitleBar布局

 
阅读更多

很多网友发现自己Android程序的标题栏TitleBar区域很单调,如果想个性化一些可以通过下面的方法来为自己软件的标题定制一个layout布局文件,比如浏览器的标题栏,它包含了网站的Favicon,自定义的进度条,和不确定的进度指示等等,实现的方法自己控制吧。下面代码在onCreate中使用,同时顺序不要改变,否则将无法生效:

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

 

这样虽然可以在一定程度上定制标题栏, 不过, 这里无法改变标题栏的高度和背景(背景设置之后会在两端有两个非常难看的边框).  据说, 原因是android 固有的. 
这里有修改方法:
原理是这样的. 直接像上述代码那样添加title仅仅是把一个子界面添加到原有的title上的, 并没有改变原来的属性, 比如 标题栏大小, 标题栏背景. 这些需要在theme 主题里面定义. 
因此先定义一个style, 若修改背景请修改android:windowTitleBackgroundStyle
若修改标题栏高度,请修改android:windowTitleSize
例子:
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">


<style name="CustomWindowTitleBackground">
       <item name="android:background">#565656</item>
</style>


<style name="test" parent="android:Theme">
     <item name="android:windowTitleSize">50dp</item>
     <item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
</style>
</resources>

 

在程序的android manifest.xml中对应activity中添加属性  android:theme = "@style/test"  就可以了
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.guardian"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name" >
        <activity android:name=".Guardian"
                  android:label="@string/app_name"
                  android:theme = "@style/test"   //就在这里
                  >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
    <uses-sdk android:minSdkVersion="4" />

</manifest> 

 

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

分享到:
评论

相关推荐

    Android标题栏TitleBar全攻略

    Android 标题栏 TitleBar 是一个自定义的 UI 组件,由 LinearLayout 继承而来,主要用于展示浏览器的标题栏信息,包括网站图标、标题、动画进度条和背景进度条等。下面我们将详细介绍 Android 标题栏的实现方法和...

    Android项目中自定义顶部标题栏

    下面我们将深入探讨如何在Android项目中实现自定义标题栏,包括定义标题栏布局、自定义TitleActivity以及实现在标题栏下内容的切换。 首先,**定义标题栏布局**是创建自定义标题栏的第一步。这通常涉及创建一个XML...

    Android自定义标题栏(并加入返回按钮)demo

    在Android应用开发中,自定义标题栏是一种常见的需求,它能提供更加个性化和与应用风格一致的用户体验。本文将深入探讨如何在Android中创建一个自定义的标题栏,并且添加一个返回按钮。我们将通过以下几个步骤来实现...

    Android标题栏TitleBar介绍

    ### Android标题栏(TitleBar)介绍 在Android应用开发中,`TitleBar`是一个非常重要的UI组件,它位于应用程序界面的顶部,用于显示应用名称、当前活动页面的标题以及一些功能按钮等信息。通过合理的设计与实现,...

    TitleBar-master_Android通用标题栏_

    `TitleBar-master`项目是一个专门为Android应用设计的通用标题栏组件,旨在帮助开发者快速、便捷地实现美观且功能丰富的标题栏效果。 该项目的核心知识点包括: 1. **自定义View**: `TitleBar-master`通过自定义...

    Android 自定义控件 组合控件 TitleBar

    本文将深入探讨如何创建一个自定义的组合控件,特别是针对App标题栏(TitleBar)的设计与实现。我们将从基本的自定义控件概念讲起,并逐步构建一个完整的TitleBar组件。 首先,了解自定义控件的基本原理。在Android...

    CustomTitleBar, 【通用标题栏】通用Android标题栏控件 A Common Titlebar For Android.zip

    《通用Android标题栏控件——CustomTitleBar深度解析》 在Android应用开发中,界面设计是用户体验的关键一环,而标题栏(Title Bar)作为应用界面的重要组成部分,其设计和功能实现往往直接影响到用户对应用的第一...

    Android-TitleBar满足各种日常使用的标题栏不要让你的时间浪费在写标题栏上

    "Android-TitleBar"项目旨在提供一个全面、易用的标题栏解决方案,帮助开发者快速集成并定制符合应用需求的标题栏,避免花费大量时间在重复的标题栏编写工作上。 该TitleBar库提供了丰富的功能,包括但不限于以下几...

    Android自定义titlebar中设置progressbar

    在Android应用开发中,标题栏(titlebar)是应用程序界面中的一个重要...总之,自定义Titlebar并在其中添加ProgressBar是提升用户体验的一种有效方式,通过灵活的布局和编程,可以创建出符合应用需求的个性化标题栏。

    自定义的TitleBar

    标题中的“自定义的TitleBar”指的是在Android或者iOS应用开发中,开发者为了满足特定设计需求,不使用系统默认的标题栏(ToolBar或NavigationBar),而是自己编写代码创建的个性化标题栏。这种自定义通常是为了实现...

    Android 通用标题栏 简单封装实现

    1. 创建自定义布局:首先,你需要创建一个XML布局文件,定义通用标题栏的结构。这通常包括一个Toolbar元素,可以包含ImageView(用于显示图标)、TextView(用于显示标题)和其他视图(如按钮)。 ```xml &lt;androidx...

    Android 上滑隐藏标题栏下滑显示标题栏(带动画效果、无卡顿、无空白)

    要实现标题栏的隐藏和显示,我们可以创建一个自定义的布局容器,例如`CustomTitleBarLayout`,继承自`FrameLayout`。在该布局中,我们需要添加一个标题栏视图,并监听滑动事件。可以通过重写`onTouchEvent()`方法,...

    安卓自定义titlebar和卫星菜单(修改)

    通过分析这些文件,开发者可以学习并实践自定义Android标题栏和卫星菜单的具体实现方式。 总之,自定义标题栏和卫星菜单是Android开发中的常见实践,它们可以帮助开发者打造独特且符合用户习惯的应用界面。通过理解...

    安卓自定义titlebar和卫星菜单

    在Android应用开发中,UI设计和交互体验是至关重要的元素,而标题栏(titlebar)和菜单则是用户界面中的核心部分。本教程将深入探讨如何在Android中实现自定义的标题栏以及卫星菜单的运用,通过源码分析,帮助开发者...

    Android-TitleBar自定义标题居中的ToolBar

    本教程将聚焦于如何创建一个自定义的标题居中并且可以添加自定义View到ToolBar的左右两侧的布局。 首先,我们需要在Android项目中引入ToolBar。在`res/layout`目录下创建一个新的XML布局文件,例如`activity_main....

    Android 仿今日头条首页标题栏效果

    在Android开发中,为了提供与今日头条类似的用户体验,开发者经常需要实现自定义的标题栏效果。这个项目名为"Android 仿今日头条首页标题栏效果",旨在复现今日头条App首页顶部的滑动指示器功能,通常包括多个可滑动...

    Android代码-android-titlebar

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

    Android 简易的动态标题栏

    Android允许开发者自定义全局或局部的主题,包括标题栏的样式。可以在`styles.xml`文件中定义一个自定义主题,然后在Activity中应用。这样可以统一应用的视觉风格,同时方便修改和维护。 9. **兼容性处理**: ...

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

    完成以上步骤后,你可以在自定义的标题栏布局文件(如`titlebar.xml`)中设计你想要的标题栏布局,并在运行时看到自定义的效果。 ### 结论 这两种方法都可以实现Android应用的自定义标题栏样式,但方法一更适合...

Global site tag (gtag.js) - Google Analytics