先说明
最近有很多小伙伴有问我怎么设置安卓BaseActivty的的标题栏的设置,我于是便把我的项目里面的BaseActivity发给他们,顺便在这里做一下介绍如何实现链式实现标题栏的效果;屁话不多说,直接开干
先介绍Toolbar的基础功能
ToolBar的出现是为了替换之前的ActionBar的各种不灵活使用方式,相反,ToolBar的使用变得非常灵活,因为它可以让我们自由往里面添加子控件.低版本要使用的话,可以添加support-v7包.
常用的API方法如下
从图上可以看到toolbar的方法还是很丰富的,支持子布局,还可以设置Navigation的图标点击事件,也可以添加主标题和父标题
好,现在我们主要是运用现有的API方法进行封装到BaseActivity里面,进行链式使用,我在其他博客上面,其他博主主要是运用接口或者直接在BaseActivity里面进行设置,把数据写死了,现在我们可以根据自己的需求进行链式设置,直接上代码:
现在重点来了,我们如何实现链式,现在我做一下介绍:
我先做一下实例的示范:
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.实现返回键点击事件:
这里我们需要实现一个接口:
这里你可以对于自己的需求进行长点击和短点击的方法的接口
实现:
现在我们基本上实现了自己的需求;
效果:
链式调用ToolBar方法介绍完毕;
本人还是大二学生,能力有限,希望各位大牛留言批评指正