先說明
最近有很多小伙伴有問我怎么設置安卓BaseActivty的的標題欄的設置,我于是便把我的項目里面的BaseActivity發(fā)給他們擅耽,順便在這里做一下介紹如何實現(xiàn)鏈式實現(xiàn)標題欄的效果活孩;屁話不多說,直接開干
先介紹Toolbar的基礎功能
?ToolBar的出現(xiàn)是為了替換之前的ActionBar的各種不靈活使用方式,相反,ToolBar的使用變得非常靈活,因為它可以讓我們自由往里面添加子控件.低版本要使用的話,可以添加support-v7包.?
常用的API方法如下
從圖上可以看到toolbar的方法還是很豐富的乖仇,支持子布局憾儒,還可以設置Navigation的圖標點擊事件,也可以添加主標題和父標題
好乃沙,現(xiàn)在我們主要是運用現(xiàn)有的API方法進行封裝到BaseActivity里面起趾,進行鏈式使用,我在其他博客上面警儒,其他博主主要是運用接口或者直接在BaseActivity里面進行設置训裆,把數(shù)據(jù)寫死了,現(xiàn)在我們可以根據(jù)自己的需求進行鏈式設置,直接上代碼:
現(xiàn)在重點來了边琉,我們?nèi)绾螌崿F(xiàn)鏈式属百,現(xiàn)在我做一下介紹:
我先做一下實例的示范:
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();
??? }
}
從上面的代碼你可以看到,我鏈式的方法的返回值都是實體類對象变姨,這樣子的用法是為了實現(xiàn)返回當前實體類诸老,進行鏈式傳參
你也可以參照StringBuffer ,進行理解:
StringBuffer stringBuffer = new StringBuffer();
? ? ? ? stringBuffer.append("123").append("456").append("789").append("abc");
? ? ? ? System.out.println(stringBuffer);
好钳恕,現(xiàn)在我們可以對自己的需求進行自定義編寫:
1.實現(xiàn)標題:
public BaseActivitysetToolTitle(String title) {
toolbar.setTitle(title);
return this;
}
2.實現(xiàn)返回點擊圖標:
public BaseActivitysetToolbarIco(int resid) {
toolbar.setNavigationIcon(resid);
return this;
}
3.實現(xiàn)副標題:
public BaseActivitysetToolSubTitle(String subTitle) {
toolbar.setSubtitle(subTitle);
return this;
}
4.實現(xiàn)返回鍵點擊事件:
這里我們需要實現(xiàn)一個接口:
這里你可以對于自己的需求進行長點擊和短點擊的方法的接口
實現(xiàn):
現(xiàn)在我們基本上實現(xiàn)了自己的需求别伏;
效果:
鏈式調用ToolBar方法介紹完畢;
本人還是大二學生忧额,能力有限厘肮,希望各位大牛留言批評指正