最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android隱藏和沉浸式虛擬按鍵NavigationBar的實現(xiàn)方法

 更新時間:2018年07月28日 09:17:10   作者:譚東jay  
今天小編就為大家分享一篇Android隱藏和沉浸式虛擬按鍵NavigationBar的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

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

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

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

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

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

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標簽的時候,向內滑動的操作會讓系統(tǒng)欄臨時顯示,并處于半透明的狀態(tài)(沉浸式)。此時沒有標簽會被清除,系統(tǒng)UI可見性監(jiān)聽器也不會被觸發(fā),布局的大小不會被影響。如果用戶沒有進行操作,系統(tǒng)欄會在一段時間內自動隱藏。

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

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

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

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

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

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

相關文章

最新評論

乌拉特后旗| 江口县| 都江堰市| 宜阳县| 南木林县| 呼和浩特市| 山西省| 锡林郭勒盟| 磴口县| 二手房| 略阳县| 安龙县| 廉江市| 昆山市| 宝坻区| 镇雄县| 大理市| 龙州县| 长岭县| 汉阴县| 册亨县| 叶城县| 荔波县| 平和县| 馆陶县| 上思县| 娱乐| 崇阳县| 旅游| 潜山县| 奈曼旗| 宜章县| 西宁市| 常宁市| 新巴尔虎右旗| 疏勒县| 额尔古纳市| 白水县| 广灵县| 利辛县| 通海县|