`

Android自定义标题栏TitleBar布局

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

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main);
//titlebar为自己标题栏的布局
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.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>
<item name="android:windowContentOverlay">@null</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文件,就可以自定义标题栏布局了



转自:http://www.blogjava.net/Green-nut/articles/332617.html
  • 大小: 6.2 KB
分享到:
评论

相关推荐

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

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

    Android标题栏TitleBar全攻略

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

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

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

    Android标题栏TitleBar介绍

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

    TitleBar-master_Android通用标题栏_

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

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

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

    Android 自定义控件 组合控件 TitleBar

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

    Android自定义titlebar中设置progressbar

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

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

    在提供的压缩包文件"安卓自定义titlebar和卫星菜单1"中,应该包含了实现这些功能的相关代码和资源文件,包括自定义TitleBar类的Java源码、自定义标题栏和卫星菜单的布局XML文件,以及可能的动画资源和样式表。...

    自定义的TitleBar

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

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

    在Android应用开发中,自定义标题栏样式是一个常见的需求,以提供更个性化和与应用主题相符的用户体验。本文将详细讲解两种在Android中实现自定义标题栏样式的常见方法。 ### 方法一:通过代码动态设置 这种方法...

    安卓自定义titlebar和卫星菜单

    首先,我们来了解自定义标题栏。在Android 3.0(API级别11)之后,系统引入了ActionBar,取代了传统的标题栏。然而,许多开发者依然选择自定义标题栏,以满足特定的设计需求或保持应用的一致性。自定义标题栏通常...

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

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

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

    CustomTitleBar是一款专门为Android平台设计的通用标题栏控件,它提供了一种灵活、可自定义的方式来实现各种风格的标题栏,旨在提升应用的UI一致性及交互体验。本文将深入探讨CustomTitleBar的核心特性和使用方法。 ...

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

    getSupportActionBar().setTitle("自定义标题"); // 设置默认标题 ``` 为了实现标题居中,我们需要覆盖ToolBar的默认样式。在`styles.xml`中添加一个新的主题: ```xml &lt;item name="android:titleTextAppearance...

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

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

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

    最后,我们将自定义标题栏添加到了主布局的顶部。 这个自定义标题栏设计的一个优点是它的灵活性。你可以根据需要调整布局文件中的元素,比如改变按钮的大小、颜色或图标,甚至可以根据不同的场景动态隐藏或显示某些...

    Android 简易的动态标题栏

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

    Android代码-android-titlebar

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

Global site tag (gtag.js) - Google Analytics