在 Android導(dǎo)航欄隱藏與浮現(xiàn)(一) 中已經(jīng)以 Nexus5 為例, Android M 為基礎(chǔ)介紹了怎么實(shí)現(xiàn)底部導(dǎo)航欄的隱藏與浮現(xiàn),本文將介紹怎么在設(shè)置(輔助功能)中加入控制該功能的開關(guān)。

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站與策劃設(shè)計(jì),渠縣網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:渠縣等地區(qū)。渠縣做網(wǎng)站價(jià)格咨詢:13518219792
上圖可以看到,應(yīng)用中加入了一個(gè) Enhance Navigation bar 的選項(xiàng),該功能開啟后可以長(zhǎng)點(diǎn)擊任務(wù)鍵(Recent)時(shí),導(dǎo)航欄隱藏;從下不向上滑時(shí),導(dǎo)航欄展示。 關(guān)閉后即取消了該功能。下面看一下整體的操作步驟:
在 Settings.apk 中修改相應(yīng)的資源文件即可,修改中可以參考系統(tǒng)設(shè)置中的 Large text , 步驟如下:
修改 ./packages/apps/Settings/res/values-zh-rCN/strings.xml ,添加資源名稱:
修改 ./packages/apps/Settings/res/values/strings.xml ,添加資源名稱:
修改 ./packages/apps/Settings/res/xml/accessibility_settings.xml ,添加開關(guān):
修改 ./frameworks/base/core/java/android/provider/Settings.java ,在內(nèi)部類 Secure 中添加字段:
修改文件 ./frameworks/base/packages/SettingsProvider/res/values/defaults.xml ,添加默認(rèn)開關(guān):
修改文件 ./packages/apps/Settings/src/com/android/settings/accessibility/AccessibilitySettings.java , 修改部分基本和 Large text 的相同,diff后的試圖如下,也可以根據(jù)下面提供修改前和修改后的文件,可以使用 diff 工具對(duì)比查看。
diff后的文件對(duì)比試圖
AccessibilitySettings修改前 AccessibilitySettings修改后
修改 ./frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java ,添加變量:
在recent鍵長(zhǎng)點(diǎn)擊處添加開關(guān)控制:
使用 mmm 命令針對(duì)涉及的模塊進(jìn)行打包。
使用 make snod 命令生成 system.img 。
兩次的結(jié)合完整的解決了導(dǎo)航欄的隱藏與浮現(xiàn)以及功能控制。
刷機(jī)需謹(jǐn)慎!刷機(jī)需謹(jǐn)慎!刷機(jī)需謹(jǐn)慎!如若刷機(jī)請(qǐng)?zhí)崆皞浞輸?shù)據(jù)!
第一種:始終隱藏navigation,即使點(diǎn)擊屏幕也不會(huì)出現(xiàn):
WindowManager.LayoutParams params = getWindow().getAttributes();
params.systemUiVisibility = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION|View.SYSTEM_UI_FLAG_IMMERSIVE;
getWindow().setAttributes(params);
第二種:初始化時(shí)隱藏,點(diǎn)擊屏幕后Navigation重新出現(xiàn):
WindowManager.LayoutParams params =getWindow().getAttributes();
params.systemUiVisibility = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
getWindow().setAttributes(params);
鏈接:
來源:
Android 顯示、隱藏狀態(tài)欄和導(dǎo)航欄
控制狀態(tài)欄顯示,Activity的主題中配置全屏屬性
控制狀態(tài)欄顯示,在setContentView之前設(shè)置全屏的flag
控制狀態(tài)欄顯示,在任何位置通過添加和移除全屏的flag
控制狀態(tài)欄和導(dǎo)航欄顯示,setSystemUiVisibility
// 全屏展示
// 非全屏顯示,顯示狀態(tài)欄和導(dǎo)航欄
網(wǎng)頁名稱:隱藏導(dǎo)航欄android,隱藏導(dǎo)航欄代碼
分享鏈接:http://chinadenli.net/article12/dsgghdc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、網(wǎng)站維護(hù)、用戶體驗(yàn)、搜索引擎優(yōu)化、ChatGPT、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)