本篇內(nèi)容主要講解“實現(xiàn)Android Camera屏蔽下拉框和導(dǎo)航欄的方法是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“實現(xiàn)Android Camera屏蔽下拉框和導(dǎo)航欄的方法是什么”吧!
平度網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),平度網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為平度近1000家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的平度做網(wǎng)站的公司定做!
在開發(fā)過程中,有時候可能需要防呆的功能,防止用戶在使用過程中誤點返回鍵,HOME鍵,下拉框等之類的。接下來我們需要屏蔽這些按鍵,先看看代碼:
/** * 隱藏虛擬鍵 */ public static void hideNavigation(Activity context) { if ((Build.VERSION.SDK_INT > Build.VERSION_CODES.HONEYCOMB)) { Logger.get().d("myth hideNavigation " + context.getClass().getSimpleName()); context.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE); } } /** * 隱藏虛擬鍵 */ public static void hideNavigation(View view) { if ((Build.VERSION.SDK_INT > Build.VERSION_CODES.HONEYCOMB)) { Logger.get().d("myth hideNavigation " + view.getClass().getSimpleName()); // | View.SYSTEM_UI_FLAG_FULLSCREEN view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE); } } /** * 顯示虛擬鍵 */ public static void showNavigation(View view) { if ((Build.VERSION.SDK_INT > Build.VERSION_CODES.HONEYCOMB)) { Logger.get().d("myth hideNavigation " + view.getClass().getSimpleName()); view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE); }
上面代碼或許是一種方式,但是這種方式不是很穩(wěn)定,很容易就自己又顯示出來了,之后又找到一種實現(xiàn)方式,代碼如下,親測沒問題:
/** * hide Navigation */ public static void hideNavigation(Activity context) { statusBarManager = (StatusBarManager) context.getSystemService("statusbar"); int flag = StatusBarManager.DISABLE_HOME | StatusBarManager.DISABLE_BACK | StatusBarManager.DISABLE_SEARCH | StatusBarManager.DISABLE_RECENT | StatusBarManager.DISABLE_EXPAND; statusBarManager.disable(flag); } public static void showNavigation(){ if (statusBarManager != null) statusBarManager.disable(StatusBarManager.DISABLE_NONE); }
StatusBarManager這個類估計是找不到,如果用Android源碼編譯,可以import包就ok:
import android.app,StatusBarManager;
如果不是android 源碼編譯,那可以使用反射的機制完成這個功能,代碼如下:
private void disableStatusBars() { Object service = getSystemService("statusbar"); try { Class<?> statusBarManager = Class.forName ("android.app.StatusBarManager"); Method expand = statusBarManager.getMethod("disable", int.class); expand.invoke(service, 0x00010000); } catch (Exception e) { e.printStackTrace(); } }
到此,相信大家對“實現(xiàn)Android Camera屏蔽下拉框和導(dǎo)航欄的方法是什么”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
文章標題:實現(xiàn)AndroidCamera屏蔽下拉框和導(dǎo)航欄的方法是什么
分享地址:http://muchs.cn/article10/ihcodo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標簽優(yōu)化、全網(wǎng)營銷推廣、微信公眾號、靜態(tài)網(wǎng)站、網(wǎng)站排名、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)