NavigationView 動態(tài)設(shè)置內(nèi)容

0710_12.png

這個界面是Catpel的主界面的側(cè)邊欄,點擊側(cè)邊爛中的應(yīng)用列表可以跳轉(zhuǎn)到對應(yīng)的應(yīng)用套像。

關(guān)于獲取手機上安裝的應(yīng)用和一些服務(wù)可以看看
獲取手機中安裝的應(yīng)用

這里的原理比較簡單:
重點代碼在這兩句:

BannedAppInfo infos = new BannedAppInfo(pinfo.applicationInfo.loadIcon(packageManager), name);
infos.appIntent = packageManager.
getLaunchIntentForPackage(pinfo.packageName);

我自己創(chuàng)建了一個類BannedAppInfo用于保存從Packagemanager提取出來的App的相關(guān)信息酿联,其中的appIntent是一個Intent類的public對象,省去了寫getter和setter的麻煩夺巩。

開始的時候我寫了一個類App繼承于Application贞让,這樣的話作為整個應(yīng)用的全局變量,在選擇應(yīng)用黑名單的時候同時也把一個名單放到了這個全局變量里面去了柳譬。 之后從這個名單之中提取出來相應(yīng)的Intent對象震桶,執(zhí)行````startActivity(infos.intent)```就可以。


下面說一下如何動態(tài)去加載NavigationView中的組件
1)Header
就拿Android Studio 自動生成的帶有側(cè)邊欄的App來說征绎,在布局文件中有關(guān)于NavigationView的有兩份重要的布局(默認(rèn)情況)
1.---content_main
這個是沒有拉開側(cè)邊欄的時候用戶第一眼看到的那個布局,這個布局被<include>到了app_bar_main之中磨取,然后app_bar_main
再被activity_main include人柿。
2.---nav_header_main 這里的內(nèi)容是才是側(cè)邊欄中header的內(nèi)容,比如常見到的qq中的用戶頭像之類忙厌。

   可能會去動態(tài)更改Header中內(nèi)容的嘗試:

1.如果在MainActivity中直接去findViewById 在nav_header_main中的控件對象的實例凫岖,匯報空指針,因為content_main之中并沒有這個對象逢净。
2.使用LayoutInflater

NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
        navigationView.setNavigationItemSelectedListener(this);
        View view = getLayoutInflater().inflate(R.layout.nav_header_main,
                null);
        TextView username = view.findViewById(R.id.content_username);
        username.setText("here we are");

inflate()有兩個參數(shù) 一個參數(shù)是制定需要實例化的這個View 另外一個參數(shù)當(dāng)指定為空的時候哥放,將默認(rèn)的layout作為view的根歼指。
但是無論設(shè)置第二個參數(shù)空還是飛空都沒有辦法解決設(shè)置的問題。
(這里請知道原因的大神評論告訴我)
3.解決方法


 NavigationView navigationView = 
(NavigationView) findViewById(R.id.nav_view);
View view =  navigationView.getHeaderView(0);

getHeaderView的參數(shù)只有一個就是index甥雕,這里制定為0踩身,之后再進行動態(tài)設(shè)置就不成問題了。

2)Menu
動態(tài)設(shè)置Menu的方法可用以下方法解決:

getMenu().add().setIcon()

設(shè)置監(jiān)聽的話:

setOnMenuItemClickListener

這里的setIcon()的參數(shù)是int id所以需要R...這種類型的文件

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末社露,一起剝皮案震驚了整個濱河市挟阻,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌峭弟,老刑警劉巖附鸽,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異瞒瘸,居然都是意外死亡坷备,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進店門情臭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來省撑,“玉大人,你說我怎么就攤上這事谎柄《≈叮” “怎么了?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵朝巫,是天一觀的道長鸿摇。 經(jīng)常有香客問我,道長劈猿,這世上最難降的妖魔是什么拙吉? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮揪荣,結(jié)果婚禮上筷黔,老公的妹妹穿的比我還像新娘。我一直安慰自己仗颈,他們只是感情好佛舱,可當(dāng)我...
    茶點故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著挨决,像睡著了一般请祖。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上脖祈,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天肆捕,我揣著相機與錄音,去河邊找鬼盖高。 笑死慎陵,一個胖子當(dāng)著我的面吹牛眼虱,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播席纽,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼捏悬,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了胆筒?” 一聲冷哼從身側(cè)響起邮破,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎仆救,沒想到半個月后抒和,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡彤蔽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年摧莽,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片顿痪。...
    茶點故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡镊辕,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蚁袭,到底是詐尸還是另有隱情征懈,我是刑警寧澤,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布揩悄,位于F島的核電站卖哎,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏删性。R本人自食惡果不足惜亏娜,卻給世界環(huán)境...
    茶點故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蹬挺。 院中可真熱鬧维贺,春花似錦、人聲如沸巴帮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽榕茧。三九已至发乔,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間雪猪,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工起愈, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留只恨,地道東北人译仗。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像官觅,于是被迫代替她去往敵國和親纵菌。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,871評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,117評論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理休涤,服務(wù)發(fā)現(xiàn)咱圆,斷路器,智...
    卡卡羅2017閱讀 134,656評論 18 139
  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程功氨,因...
    小菜c閱讀 6,409評論 0 17
  • 不知道你們有沒有這么一種感受序苏,當(dāng)你們有一個朋友口才不錯的時候,他身邊總有很多人說捷凄,你口才不錯啊忱详,將來一定是做銷售的...
    積木格子閱讀 273評論 0 0
  • 我總覺得,傻瓜是一個美好而甜蜜的詞語 當(dāng)你對一個人或有一個人對你說 你真是個大傻瓜跺涤,或是你怎...
    葉蘇2017閱讀 363評論 0 1