最近在做android应用的时候,感觉系统自带的标题栏不是很美观,所以就想这能自定义标题栏,在网上找的了很多方法,但是都不是很完美,今天就记录下如何自定义标题栏。
一:创建Android应用
首先在eclipse里面创建一个android应用:DiyTitle
二:编写布局文件
因为要采用自定义标题,所以这里需要创建一个布局文件来作为标题栏的布局,这里我就简单的使用一个文字信息作为标题,布局如下:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="@string/app_name" android:textSize="23sp"/> </RelativeLayout>
这里需要设置android:layout_centerInParent="true",才能让文字居中显示,接下来就要修改主题,在style.xml中添加自定义的样式:
<style name="mywindowTitleBackground"> <item name="android:background">@color/titleBgColor</item> </style>
在values目录下创建一个theme.xml文件,定义标题相关属性
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="themeTitle" parent="android:Theme.Light"> <item name="android:windowTitleSize">46dip</item> <item name="android:windowTitleBackgroundStyle">@+style/mywindowTitleBackground</item> <item name="android:windowBackground">@color/windowbackgroud</item> <item name="android:textColor">@color/black</item> </style> </resources>
同时创建颜色配置文件drawable.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="windowbackgroud">#44BBBF</color> <color name="black">#000000</color> <color name="white">#fff</color> <color name="gray">#808080</color> <color name="titleBgColor">#1AA6B5</color> <color name="titleTextColor">#fff</color> <color name="singNameColor">#10808E</color> <color name="btnClick">#EEE5DE</color> <color name="listViewDivider">#30A1A5</color> </resources>
该文件定义了一些颜色,可以自定义修改
然后将AndroidManifest.xml中指定的主题修改为我们上面定义的
<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/themeTitle" >
设置为themeTitle,这样就差不多了
三: 编写代码
在MainActivity中设置标题栏的样式,注意顺序:
package com.jacksoft.diytitle; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.Window; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.activity_main); getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
四:运行
这样就可以了,运行吧,结果如下:
相关推荐
本教程将深入探讨如何在Android中实现自定义标题栏,主要基于提供的"android自定义标题栏源码"。 首先,我们了解Android原生标题栏的局限性。原生的ActionBar或Toolbar虽然提供了基础功能,但有时不能满足个性化的...
总结,Android自定义标题栏是一项关键的UI定制技术,它让开发者能够创建符合品牌风格的界面,提升用户交互体验。通过学习和实践,我们可以熟练掌握自定义标题栏的各种技巧,包括但不限于添加菜单项、设置点击事件、...
这篇博客“解决android自定义标题栏充满的问题”提供了一些解决方案。 首先,我们需要了解Android布局的基本原理。在Android中,我们通常使用LinearLayout、RelativeLayout、ConstraintLayout等布局管理器来组织UI...
本文将深入探讨如何在Android中创建并封装一个自定义标题栏,参考了链接中的博客文章《Android自定义标题栏(已封装)》。 首先,我们需要了解Android系统自带的Title Bar(在API 21及以上版本被称为ToolBar),它...
在Xamarin.Android开发中,创建自定义标题栏是提升应用用户体验和界面个性化的重要步骤。Xamarin是一个强大的跨平台开发工具,允许开发者使用C#语言构建原生的iOS、Android和Windows应用程序。本教程将深入探讨如何...
android 自定义标题栏 CAD如何快速自定义标题栏.docx
在Android应用开发中,自定义标题栏是一种常见的需求,它能提供更加个性化和与应用主题相符的用户体验。本文将深入探讨如何在Android中实现自定义标题栏,包括修改其高度和修复可能出现的显示问题。 首先,我们要...
在Android应用开发中,自定义标题栏是一种常见的需求,它能提供更加个性化和与应用风格一致的用户体验。本文将深入探讨如何在Android中创建一个自定义的标题栏,并且添加一个返回按钮。我们将通过以下几个步骤来实现...
Android自定义顶部标题栏Android自定义顶部标题栏Android自定义顶部标题栏Android自定义顶部标题栏Android自定义顶部标题栏Android自定义顶部标题栏Android自定义顶部标题栏Android自定义顶部标题栏Android自定义...
在Android开发中,自定义标题栏是提升应用用户体验和界面个性化的重要手段。Android Studio作为官方推荐的集成开发环境,提供了丰富的工具和API来帮助开发者实现这一目标。本篇将详细探讨如何在Android Studio中实现...
在Android应用开发中,自定义标题栏是一种常见的需求,它能帮助我们打造出具有独特风格的用户界面。本文将深入探讨如何在Android中实现自定义标题栏,并涉及自定义属性、接口回调等关键知识点。 首先,我们需要理解...
NULL 博文链接:https://lovezhou.iteye.com/blog/861589
在Android开发中,为了让应用的用户体验更加统一和美观,有时我们需要自定义状态栏的颜色,使其与应用的标题栏颜色保持一致。在iOS系统中,这种效果很常见,但早期的Android版本并不支持这一特性。不过,从Android ...
在Android应用开发中,自定义标题栏是一种常见的需求,它能帮助我们打造出具有独特风格的用户界面。"Android简化自定义标题栏"这个主题旨在帮助开发者快速、高效地实现这一功能,无需过于复杂的代码和设计。下面将...
在Android应用开发中,...总结起来,Android自定义标题栏涉及到`Toolbar`组件的使用,包括设置图标、文字、背景颜色、高度和菜单。通过灵活地调整这些属性,开发者可以根据需求创建出符合应用风格的个性化标题栏。