一、ActionBar 使用
Action Bar就是應(yīng)用最上面的長方形橫條,里面的內(nèi)容一般是App圖標(biāo)、app的名字、菜單按鈕、tab導(dǎo)航等
1、顯示和隱藏ActionBar
xml方法:就是在manifest 里面設(shè)置application或者 activity 的theme屬性就可以實(shí)現(xiàn)顯示和隱藏(帶NoActionBar的主題)
JAVA方法:首先getSupportActionBar 獲得bar,然后調(diào)用hide 或者 show 方法即可
2、添加Action Item
和前面創(chuàng)建選項(xiàng)菜單基本是一樣的步驟,只是定義菜單的 item的時(shí)候多了一個(gè) showAsAction的屬性,具體的屬性值參考如下

- 菜單資源文件 item 示例


3、添加Action View
就是往 ActionBar 上面添加組件
菜單資源文件示例如下:具體的view既可以通過類進(jìn)行指定,也可以通過布局文件指定

說明
- actionLayout、showAsAction等的前綴都是 app 而不是 Android,需要引入相應(yīng)的名稱空間
- action bar 的 setDisplayShowTitleEnabled 方法可以設(shè)置應(yīng)用標(biāo)題的隱藏和顯示
- getMenuInflater
4、ActionBar & tab
只有 tab 導(dǎo)航的action bar的實(shí)現(xiàn)
步驟:建幾個(gè) fragment -->實(shí)現(xiàn) tabListener -->MainActivity中添加tab到action bar
關(guān)鍵代碼
//tabListener實(shí)現(xiàn)類部分代碼 @Override public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { if(fragment == null){ fragment = Fragment.instantiate(activity,clazz.getName()); fragmentTransaction.add(android.R.id.content,fragment,null); } fragmentTransaction.attach(fragment); } @Override public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { if(fragment != null){ fragmentTransaction.detach(fragment); } }
//mainActivity部分代碼 ActionBar ab = getSupportActionBar(); ab.setDisplayShowTitleEnabled(false); ab.setNavigationMode(ab.NAVIGATION_MODE_TABS); ab.addTab(ab.newTab().setText("第一頁"). setTabListener(new MyListener(AFragment.class,MainActivity.this))); ab.addTab(ab.newTab().setText("第二頁"). setTabListener(new MyListener(BFragment.class,MainActivity.this))); ab.addTab(ab.newTab().setText("第三頁"). setTabListener(new MyListener(CFragment.class,MainActivity.this)));
5、實(shí)現(xiàn)層級式導(dǎo)航

原理
不是通過intent來實(shí)現(xiàn)返回的 activity 跳轉(zhuǎn)
本質(zhì)是設(shè)置父 Activity 集合Action Bar 的功能來實(shí)現(xiàn)返回
關(guān)鍵代碼
<activity android:name=".BActivity"> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".MainActivity"></meta-data> </activity>
//子Activity代碼 if(NavUtils.getParentActivityName(this) != null){ //這里是開啟 ActionBar 的返回的圖標(biāo) getSupportActionBar().setDisplayHomeAsUpEnabled(true); }
二、消息 & 通知 & 廣播
1.Toast顯示消息提示框
2.AlertDialog實(shí)現(xiàn)對話框(四種)
- 普通對話框(有取消和確定按鈕)
- 列表對話框
- 單選對話框
- 多選對話框
最后
我準(zhǔn)備了一些面試的知識匯總,數(shù)據(jù)結(jié)構(gòu),計(jì)算機(jī)網(wǎng)絡(luò)等等都有。自己整理和分類的,還請尊重知識產(chǎn)出。
分享給大家的資料包括高級架構(gòu)技術(shù)進(jìn)階腦圖、Android開發(fā)面試專題資料,還有高級進(jìn)階架構(gòu)資料包括但不限于【高級UI、性能優(yōu)化、移動架構(gòu)師、NDK、混合式開發(fā)(ReactNative+Weex)微信小程序、Flutter等全方面的Android進(jìn)階實(shí)踐技術(shù)】希望能幫助大家學(xué)習(xí)提升進(jìn)階,也節(jié)省大家在網(wǎng)上搜索資料的時(shí)間來學(xué)習(xí),也是可以分享給身邊好友一起學(xué)習(xí)的!