91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android隱藏和沉浸式虛擬按鍵NavigationBar的實現方法

發布時間:2020-08-20 22:11:13 來源:腳本之家 閱讀:1866 作者:譚東jay 欄目:移動開發

有的時候我們在做全屏顯示或者視頻全屏播放時候,有些手機有底部的虛擬按鍵,如下圖所示:

Android隱藏和沉浸式虛擬按鍵NavigationBar的實現方法

在開發中我們會遇到需要隱藏虛擬按鍵或者沉浸式虛擬按鍵的需求。

Android隱藏和沉浸式虛擬按鍵NavigationBar的實現方法

上圖為沉浸式虛擬按鍵效果。

Android隱藏和沉浸式虛擬按鍵NavigationBar的實現方法

上圖為隱藏虛擬按鍵效果。

那我們先說如何隱藏虛擬按鍵:

public static void hideNavKey(Context context) {
    if (Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19) {
      View v = ((Activity) context).getWindow().getDecorView();
      v.setSystemUiVisibility(View.GONE);
    } else if (Build.VERSION.SDK_INT >= 19) {
      //for new api versions.
      View decorView = ((Activity) context).getWindow().getDecorView();
      int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
          | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
      decorView.setSystemUiVisibility(uiOptions);
    }
  }

主要是幾個標簽的使用。那先看下這些標簽的作用和含義吧。

當使用了SYSTEM_UI_FLAG_IMMERSIVE_STICKY標簽的時候,向內滑動的操作會讓系統欄臨時顯示,并處于半透明的狀態(沉浸式)。此時沒有標簽會被清除,系統UI可見性監聽器也不會被觸發,布局的大小不會被影響。如果用戶沒有進行操作,系統欄會在一段時間內自動隱藏。

當你使用SYSTEM_UI_FLAG_IMMERSIVE標簽的時候,它是基于其他設置過的標簽(SYSTEM_UI_FLAG_HIDE_NAVIGATION和SYSTEM_UI_FLAG_FULLSCREEN)來隱藏系統欄的。當用戶向內滑動,系統欄重新顯示并保持可見。但是布局大小會被虛擬按鍵的高度所影響。

如果你不想虛擬按鍵影響高度。可以用如下:

用其他的UI標簽(如SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION和SYSTEM_UI_FLAG_LAYOUT_STABLE)來防止系統欄隱藏時內容區域大小發生變化是一種很不錯的方法。你也需要確保Action Bar和其他系統UI控件同時進行隱藏。下面這段代碼展示了如何在不改變內容區域大小的情況下,隱藏與顯示狀態欄和導航欄。

那么如何顯示虛擬按鍵呢?往下看:

 public static void showNavKey(Context context, int systemUiVisibility) {//getWindow().getDecorView().getSystemUiVisibility() 傳入0也可以
    ((Activity) context).getWindow().getDecorView().setSystemUiVisibility(systemUiVisibility);
  }

以上這篇Android隱藏和沉浸式虛擬按鍵NavigationBar的實現方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

湟中县| 龙游县| 兰西县| 庄河市| 哈尔滨市| 松江区| 衡水市| 贵南县| 乌鲁木齐县| 泽库县| 西昌市| 乐清市| 安多县| 将乐县| 恩平市| 迁安市| 灵宝市| 宜州市| 博野县| 依兰县| 潜江市| 博罗县| 乌鲁木齐市| 大余县| 平江县| 定南县| 绩溪县| 沂水县| 新兴县| 日照市| 昌邑市| 西充县| 泰安市| 和平区| 彭州市| 博爱县| 佛学| 左贡县| 包头市| 龙州县| 河津市|