效果如下:
自定义标题栏的过程如下:
1.通过 requestWindowFeature来设置标题栏
2.自定义标题栏样式
3.修改默认标题栏主题
具体过程如下:
1.在oncreate方法中操作
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main); //软件activity的布局
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.titlebar); //titlebar为自己标题栏的布局
setContentView(R.layout.main); //软件activity的布局
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.titlebar); //titlebar为自己标题栏的布局
2.自定义标题栏样式,即:设置titlebar.xml:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <ImageView android:layout_width="wrap_content" android:layout_alignParentLeft="true" android:layout_height="wrap_content" android:padding="8dp" android:src="@drawable/icon1" /> <TextView android:layout_width="wrap_content" android:layout_centerHorizontal ="true" android:layout_height="wrap_content" android:padding="8dp" android:textSize="20sp" android:text="收藏夹" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:padding="8dp" android:src="@drawable/icon2" /> </RelativeLayout>
3.此时可以在一定程度上定制标题栏, 不过, 这里无法改变标题栏的高度和背景(背景设置之后会在两端有两个非常难看的边框),原因是这样的. 直接像上述代码那样添加title仅仅是把一个子界面添加到原有的title上的, 并没有改变原来的属性, 比如 标题栏大小, 标题栏背景. 这些需要在theme 主题里面定义.。因此需要添加一个新的styles文件,在vaules文件夹下新增一个styles.xml文件如下:
<?xml version="1.0" encoding="utf-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android"> <style name="CustomWindowTitleBackground"> <item name="android:background">#003300</item> </style> <style name="title" parent="android:Theme"> <item name="android:windowTitleSize">50dp</item> <item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item> </style> </resources>
同时要在androidMainfeast.xml文件中做相应的修改:
<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".MainActivity" 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> </application>
此致完成一个自定义的title。
参考文献:
1. http://www.blogjava.net/Green-nut/articles/332617.html
2. http://guangqiang.iteye.com/blog/1116994
3. http://blog.sina.com.cn/s/blog_684a1d160100umuq.html
相关推荐
本篇将深入探讨如何在Android中实现自定义Menu。 首先,我们需要了解Android系统的Menu机制。Android中的Menu主要分为三类:Option Menu(主菜单)、Context Menu(上下文菜单)和PopupMenu(弹出式菜单)。Option ...
SupportActionBar.Title = "自定义标题"; ``` 4. **自定义标题栏样式** 你可以通过修改主题(Theme)或者直接在代码中调整Toolbar的属性来改变其样式,比如字体颜色、背景色等。在`res/values/styles.xml`中...
在Android开发中,自定义控件是提升应用独特性和用户体验的重要手段。本文将详细讲解如何创建一个自定义的标题导航控件,分为五个关键步骤。 ### 1. 自定义控件属性的定义 首先,我们需要定义自定义控件的属性。这...
Android Tablayout 自定义Tab布局的使用案例 Android Tablayout 是 Android 设计库中的一部分,主要用于实现标签页功能。Tablayout 中的 Tab 可以自定义布局,以满足不同的需求。本文将 introduction 了 Android ...
总结,Android自定义标题栏是一项关键的UI定制技术,它让开发者能够创建符合品牌风格的界面,提升用户交互体验。通过学习和实践,我们可以熟练掌握自定义标题栏的各种技巧,包括但不限于添加菜单项、设置点击事件、...
总结来说,创建Android自定义View模板并实现点击事件的回调,主要包括以下步骤: 1. 定义XML资源文件(如attrs.xml),声明自定义属性。 2. 创建自定义View类,继承自适当的父View类,如`RelativeLayout`。 3. 在...
本资源“安卓Android源码——android 自定义对话框.rar”显然包含了关于如何在Android平台上创建和定制对话框的源代码示例。通过这个压缩包,我们可以学习到如何摆脱系统默认样式,设计出更符合应用风格的对话框。 ...
总结来说,实现Android自定义头部视图的关键在于理解布局原理、创建自定义View类以及处理交互事件。通过这个过程,我们可以根据项目需求自由地设计和控制头部视图,提供更加个性化的用户界面。在实际开发中,不断...
本篇将深入探讨如何在Android中实现`Preference`的自定义样式。 首先,理解Preference的基本用法是关键。Preference通常在XML布局文件中定义,并通过`<preference-headers>`标签在设置活动中声明。例如: ```xml ...
今天看到很多app都有Title自动隐藏功能,1.这是一个Gradle工程,Gradle的版本是2.10,项目的Compile sdk Version是 23 , Build ...Android自定义ViewGroup实现Title自动隐藏功能源代码分享,Android开发者必看示例。
本文实例讲述了Android编程实现自定义title功能。分享给大家供大家参考,具体如下: 这里我在前面加了个logo,而且改变了title的背景和高度。 首先编写title的布局文件,title.xml: <?xml version=1.0 ...
在Android开发中,自定义Dialog是一种常见的需求,它允许开发者根据应用的UI风格和功能需求创建具有...通过学习和实践,你将能够熟练掌握Android自定义Dialog的技巧,从而在应用开发中提供更加丰富和个性化的用户体验。
Android自定义Notification允许开发者根据自己的需求创建具有独特样式和行为的通知,以提高用户体验和应用的可识别性。 首先,我们来了解Notification的基本结构。一个Notification通常包括以下部分: 1. **通知...
综上所述,Android自定义组件是提升应用体验和满足个性化需求的重要手段。通过熟练掌握自定义组件的创建方法和技巧,开发者能够更好地应对各种复杂场景,创造出独具特色的用户界面。在实际开发中,结合属性动画、...
在Android开发中,自定义菜单是一项重要的功能,它允许开发者为应用程序创建个性化和功能丰富的交互界面。本篇文章将深入探讨如何在Android系统中实现自定义菜单,并提供相关的知识点。 首先,我们来理解Android中...
在Android开发中,自定义对话框(Dialog)是一种常见的用户交互方式,特别是在提供用户选择或者显示额外信息时。本文将详细讲解如何使用建造者模式、DialogFragment和RecyclerView来创建一个自定义的列表式...
在Android应用开发中,自定义标题(Title)是一种常见的需求,它可以帮助我们为应用程序提供更加个性化和功能丰富的界面。自定义标题不仅可以改变默认的样式,还可以添加额外的功能按钮或者实现更复杂的交互效果。本...
本篇将详细介绍如何在Android中自定义`ExpandableListView`以实现二级列表。 首先,理解`ExpandableListView`的基本概念。它是`ListView`的扩展,支持子项(child items)和父项(group items)的概念。父项可以...
oid:layout_height="45dp" android:background="@color/green"> <Button android:id="@+id/title_bar_left" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_...