Android快速開(kāi)發(fā)架構(gòu)PlanA患亿,一周一個(gè)APP,持續(xù)維護(hù)中!
Android快速開(kāi)發(fā)架構(gòu)PlanA(一)押逼,船新版本的BaseActivity
Android快速開(kāi)發(fā)架構(gòu)PlanA(二)步藕,簡(jiǎn)單粗暴的路由管理PRouter
Android快速開(kāi)發(fā)架構(gòu)PlanA(三),你一定會(huì)用上的工具類
Android快速開(kāi)發(fā)架構(gòu)PlanA(四)挑格,網(wǎng)絡(luò)請(qǐng)求篇咙冗,劃重點(diǎn)(必考)
Android快速開(kāi)發(fā)架構(gòu)PlanA(五),文件上傳下載了解一下
Android快速開(kāi)發(fā)架構(gòu)PlanA(六)漂彤,抱歉雾消,這些自定義控件真的可以讓你為所欲為
Android快速開(kāi)發(fā)架構(gòu)PlanA(七),隱藏技能:PhotoBrowse圖片瀏覽
Android快速開(kāi)發(fā)架構(gòu)PlanA(八)挫望,手滑搞了個(gè)萬(wàn)能適配器CommonAdapter
1.BaseActivity的使用
??PlanA架構(gòu)集成第一篇立润,BaseActivity的使用,在Android開(kāi)發(fā)中媳板,幾乎都要用到Activity基類桑腮,基類可以做很多事情,從而在子Activity中不需要做太多繁雜的事情蛉幸,只需要繼成就行了破讨,本篇講述的就是PlanA中BaseActivity的相關(guān)方法封裝,減少開(kāi)發(fā)者大部分的代碼量奕纫,為外部提供方便快捷的實(shí)現(xiàn)法則提陶。
2.BaseActivity(繼承)
-
可事先新建一個(gè)MyBaseActivity類用于ButterKnife注解、狀態(tài)欄匹层、標(biāo)題欄顏色等統(tǒng)一管理再集成BaseActivity隙笆,如果新建了MyBaseActivity的話,別忘了也要新增兩個(gè)抽象方法來(lái)覆蓋BaseActivity中的那倆抽象方法哦,可以附上個(gè)簡(jiǎn)單的快照撑柔,僅供參考煤率!;
public abstract class MyBaseActivity extends BaseActivity { public abstract int getLayoutResId(); public abstract void initView(Bundle var1); @Override public int getContentViewResId() { return getLayoutResId(); } @Override public void init(Bundle savedInstanceState) { initView(savedInstanceState); } }
-
public class TestActivity extends MyBaseActivity { @Override public int getLayoutResId() { return R.layout.activity_test; } @Override public void initView(Bundle var1) { setTitle("MyBaseActivity實(shí)例"); } }
BaseFragment與BaseActivity基本一致乏冀,只是不包含TitleBar的相關(guān)操作
開(kāi)啟菊花加載模態(tài)窗 showDialog();
關(guān)閉菊花加載模態(tài)窗 closeDialog();
TitleBar支持根布局為L(zhǎng)inearLayout(android:orientation="vertical")蝶糯,RelativeLayout和ConstraintLayout(TitleBar的id為common_title_bar,高度為50dp辆沦,開(kāi)發(fā)者在使用RelativeLayout和ConstraintLayout的時(shí)候就需要針對(duì)自己的控件搞點(diǎn)標(biāo)題欄約束了)昼捍;
隱藏標(biāo)題欄 hideTitleBar();
顯示標(biāo)題欄 showTitleBar();
隱藏返回icon hideEsc();
顯示返回icon showEsc();
設(shè)置標(biāo)題 setTitle(Object title); title參數(shù)為String或int(String引用)
標(biāo)題欄顯示更多icon showMore(OnTitleBarListener onTitleBarListener); 參數(shù)為點(diǎn)擊回調(diào)接口,位于BaseActivity
替換標(biāo)題欄更多icon replaceMoreIcon(int iconId); 參數(shù)為新icon的id引用
設(shè)置標(biāo)題欄背景顏色 setTitleBarBg(color); 參數(shù)為int顏色值
設(shè)置返回icon setEscIcon(icon);
設(shè)置標(biāo)題顏色 setTitleTextColor(color);
設(shè)置標(biāo)題字體大小 setTitleTextSize(textSizeSP);
獲取返回icon getEscIcon();
獲取標(biāo)題控件 getTitleView();
獲取更多icon getMoreIcon();
獲取標(biāo)題欄 getRlTitleBar();
獲取ViewDataBinding getViewDataBinding(); 獲取的實(shí)例為ViewDataBinding 需要強(qiáng)轉(zhuǎn)
setIsShowStatusBar(isShow); 是否顯示狀態(tài)欄肢扯,true:恢復(fù)狀態(tài)欄位置并默認(rèn)背景色妒茬,false:隱藏狀態(tài)欄并使布局頂上去
- setStatusBarColor(color); 設(shè)置狀態(tài)欄顏色(沉浸式)
setStatusBarColor(color,alpha); 設(shè)置狀態(tài)欄顏色,alpha為透明度
6.0+權(quán)限請(qǐng)求蔚晨,requestPermission(permissions,code) 所請(qǐng)求的權(quán)限別忘了在Manifest里注冊(cè)
權(quán)限請(qǐng)求回調(diào)乍钻,權(quán)限請(qǐng)求成功回調(diào)接口:permissionSucceed 權(quán)限請(qǐng)求失敗回調(diào)接口:permissionFailing
更多API請(qǐng)?jiān)斂碆aseActivity源碼