关于安卓BaseActivity标题栏的链式设置

先说明

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

先介绍Toolbar的基础功能

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

常用的API方法如下


API方法汇总


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

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


先声明Toolbar


进行初始化

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

我先做一下实例的示范:

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方法介绍完毕;

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

你可能感兴趣的:(关于安卓BaseActivity标题栏的链式设置)