Android修改activity标题,关于安卓BaseActivity标题栏的链式设置

本文介绍了在安卓开发中,如何通过链式调用实现BaseActivity标题栏的设置。先介绍了Toolbar的基础功能和常用API,接着通过示例展示链式方法的实现,最后给出了实现标题、返回图标、副标题及返回键点击事件的代码,实现了自定义需求。

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

先说明

最近有很多小伙伴有问我怎么设置安卓BaseActivty的的标题栏的设置,我于是便把我的项目里面的BaseActivity发给他们,顺便在这里做一下介绍如何实现链式实现标题栏的效果;屁话不多说,直接开干

先介绍Toolbar的基础功能

ToolBar的出现是为了替换之前的ActionBar的各种不灵活使用方式,相反,ToolBar的使用变得非常灵活,因为它可以让我们自由往里面添加子控件.低版本要使用的话,可以添加support-v7包.

常用的API方法如下

606d946e2386?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=qq

API方法汇总

606d946e2386?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=qq

从图上可以看到toolbar的方法还是很丰富的,支持子布局,还可以设置Navigation的图标点击事件,也可以添加主标题和父标题

好,现在我们主要是运用现有的API方法进行封装到BaseActivity里面,进行链式使用,我在其他博客上面,其他博主主要是运用接口或者直接在BaseActivity里面进行设置,把数据写死了,现在我们可以根据自己的需求进行链式设置,直接上代码:

606d946e2386?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=qq

先声明Toolbar

606d946e2386?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=qq

进行初始化

现在重点来了,我们如何实现链式,现在我做一下介绍:

我先做一下实例的示范:

public class Persion {

private int id;

private String name;

private String phoneNumber;

private String address;

public  Persion() {

}

public Persion setId(int id) {

this.id = id;

return this;

}

public Persion setName(String name) {

this.name = name;

return this;

}

public Persion setPhoneNumber(String phoneNumber) {

this.phoneNumber = phoneNumber;

return this;

}

public Persion setAddress(String address) {

this.address = address;

return this;

}

public Persion printId() {

System.out.println(this.id);

return this;

}

public Persion printName() {

System.out.println(this.name);

return this;

}

public Persion printPhoneNumber() {

System.out.println(this.phoneNumber);

return this;

}

public Persion printAddress() {

System.out.println(this.address);

return this;

}

}

使用方法:

public class Test {

public static void main(String[] args) {

Persion persion1 = new Persion();

persion1.setId(3).setName("John")

.setPhoneNumber("1111111").setAddress("US");

persion1.printId()

.printName()

.printPhoneNumber()

.printAddress();

}

}

从上面的代码你可以看到,我链式的方法的返回值都是实体类对象,这样子的用法是为了实现返回当前实体类,进行链式传参

你也可以参照StringBuffer ,进行理解:

StringBuffer stringBuffer = new StringBuffer();

stringBuffer.append("123").append("456").append("789").append("abc");

System.out.println(stringBuffer);

好,现在我们可以对自己的需求进行自定义编写:

1.实现标题:

public BaseActivitysetToolTitle(String title) {

toolbar.setTitle(title);

return this;

}

2.实现返回点击图标:

public BaseActivitysetToolbarIco(int resid) {

toolbar.setNavigationIcon(resid);

return this;

}

3.实现副标题:

public BaseActivitysetToolSubTitle(String subTitle) {

toolbar.setSubtitle(subTitle);

return this;

}

4.实现返回键点击事件:

这里我们需要实现一个接口:

606d946e2386?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=qq

点击事件接口

这里你可以对于自己的需求进行长点击和短点击的方法的接口

实现:

606d946e2386?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=qq

进行接口的调用

现在我们基本上实现了自己的需求;

效果:

606d946e2386?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=qq

效果图

链式调用ToolBar方法介绍完毕;

本人还是大二学生,能力有限,希望各位大牛留言批评指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值