新手笔记之安卓自定义title标题栏使用

本文详细介绍了一种在Android应用中实现自定义标题栏的方法,包括创建布局文件、定义主题、注册主题及在Activity中引用标题栏的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(之前在这个坑待太久,所以在此总结分享。)

一、标题栏简介

自定义的title控件是UI常用的一个设计手法,最简单的例子如图(找了个丑一点的)


二、使用过程

1.(注意:那个标题栏的布局文件和那个所在的activity的布局文件是不同的!!!)先建一个你想要的标题栏的布局文件,弄成你想要的标题的布局代码,只是上面的标题栏,所以属性、大小要注意一下

2.你需要一个自定义的主题,在styles那里建立建立一个你想要的apptheme

3.记得在对应的activity里面注册你的主题(styles)最好使用默认主题,不然容易出一堆error

4.在对应的activity的java文件里面码上引用的代码


三、详细流程

1.标题栏布局文件tips_title,这个只是标题栏的title布局,不是activity的布局,activity的布局要另外写

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="温馨提示"
        android:textSize="30sp"
        android:textAlignment="center"
        android:id="@+id/tips" />
    <TextView
        android:layout_width="100dp"
        android:layout_height="40dp"
        android:id="@+id/header_text"
        android:layout_toRightOf="@+id/tips" />
    <Button
        android:id="@+id/feedback"
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:text="有错误?"
        android:background="#6495ED"
        android:textSize="25sp"
        android:layout_toRightOf="@id/header_text" />

</LinearLayout>

2.在资源文件的styles里面声明你要的theme

如:这个基本是默认的主题了,颜色,字体可以改,但是怕出error就别改其他的太多了

    <style name="WindowTitleBackground" >
        <item name="android:background">@color/blue</item>
    </style>
    <style name="MyTheme" parent="android:Theme">
        <item name="android:windowTitleSize">60dp</item>
        <item name="android:windowTitleBackgroundStyle">@style/WindowTitleBackground</item>
    </style>


3.在注册文件manifests那里的对应的activity那里声明你的主题

如: 最好是使用android:theme="@style/"   这种格式,同时还要删除ide默认生成的主题apptheme之类的,不然还是报错。

<activity android:name=".TIPS"  android:theme="@style/MyTheme" />


4.最后在相应的activity的java文件那里声明引用(!!!而且要注意,使用这主题的activity是继承Activity,不是继承AppCompat!!!)

如:

 	requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);	//先声明这个activity会有一个标题栏,并且利用这个方法
        setContentView(R.layout.tips);<span style="white-space:pre">				//声明改activity的布局文件
        getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.tips_title);  //声明引用我们所做的title布局文件


猴,到了这里就可以获得我们想要的自定义标题栏啦!!!

图在上面,有点丑 别介意。

ok,该注意的、易出错的都尽量写详细了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值