• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • 安卓5.0沉浸式模式學習筆記

    標簽: Android沉浸式筆記

    轉自:http://blog.csdn.net/guolin_blog/article/details/51763825
    沉浸式:沉浸式就是要給用戶提供完全沉浸的體驗,使用戶有一種置身于虛擬世界之中的感覺.
    比如之前的一些游戲就做到了這一點
    在這里插入圖片描述
    下面開始放代碼和效果圖
    第一種 標準沉浸式

            View decorView = getWindow().getDecorView();
            int option = View.SYSTEM_UI_FLAG_FULLSCREEN;
            decorView.setSystemUiVisibility(option);
            ActionBar actionBar = getSupportActionBar();
            actionBar.hide();
    

    實現的效果圖
    在這里插入圖片描述已經有點沉浸式的感覺了

    第二種 就是模仿餓了么狀態欄的一種
    /**
    * 模仿餓了么 留下標題欄 這樣的效果只有5.0以上的系統才支持
    * 我們使用了SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN和SYSTEM_UI_FLAG_LAYOUT_STABLE,
    * 注意兩個Flag必須要結合在一起使用,
    * 表示會讓應用的主體內容占用系統狀態欄的空間,
    * 最后再調用Window的setStatusBarColor()方法將狀態欄設置成透明色就可以了。
    *
    * 這種效果不叫沉浸式狀態欄 姑且叫做透明狀態欄
    */

    if(Build.VERSION.SDK_INT >= 21){
                View decorView = getWindow().getDecorView();
                int option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                        | View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
                decorView.setSystemUiVisibility(option);
                getWindow().setStatusBarColor(Color.TRANSPARENT);
            }
            ActionBar actionBar = getSupportActionBar();
            actionBar.hide();
    

    在這里插入圖片描述
    第三種 隱藏導航欄 看似沉浸式 但其實點擊任何一處都會退出沉浸式

            View decorView = getWindow().getDecorView();
            int option = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
                    View.SYSTEM_UI_FLAG_FULLSCREEN;
            decorView.setSystemUiVisibility(option);
            ActionBar actionBar = getSupportActionBar();
            actionBar.hide();
    

    在這里插入圖片描述
    第四種 制作透明導航欄 跟餓了么的相似

            if (Build.VERSION.SDK_INT >= 21) {
                View decorView = getWindow().getDecorView();
                int option = View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                        | View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
                decorView.setSystemUiVisibility(option);
                getWindow().setNavigationBarColor(Color.TRANSPARENT);
                getWindow().setStatusBarColor(Color.TRANSPARENT);
            }
            ActionBar actionBar = getSupportActionBar();
            actionBar.hide();
    

    在這里插入圖片描述
    第五種 真正的沉浸式

     @Override
        public void onWindowFocusChanged(boolean hasFocus) {
            super.onWindowFocusChanged(hasFocus);
            if (hasFocus && Build.VERSION.SDK_INT >= 19) {
                View decorView = getWindow().getDecorView();
                decorView.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_FULLSCREEN
                                | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
            }
        }
    

    在模擬器上看不出什么 在手機上運行的效果
    在這里插入圖片描述

    版權聲明:本文為weixin_43826827原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/weixin_43826827/article/details/89378639

    智能推薦

    安卓學習筆記三(activity、MVC設計模式、intent)

    目錄 一、將控件鏈接起來 二、創建并顯示Toast消息 三、創建一個新的Activity類 四、用intent啟用一個activity 在activity中訪問控件 步驟一:添加成員變量(可能被跳過) private Button btn; 步驟二:引用控件 findViewById(R.id.***); 步驟三:為控件設置監聽器(有三種方法) btn1.setOnClickListener(&h...

    安卓沉浸式狀態欄,安卓設置狀態欄顏色、字體顏色詳解

    本文分兩部分 1、效果圖 2、工具類 廢話不多說, 效果圖如下: 黑底白字 白底黑字: 工具類 用法在需要設置的activity中調用,注意 喜歡的朋友們,拿去不謝。...

    android沉浸式模式

    現在沉浸式模式運用越來越廣泛,效果確實也挺不錯美觀,但是android在5.0之前是不支持沉浸式模式的,直到5.0后才加入沉浸式模式,所以特此記錄下5.0以下和以上沉浸式模式的實現方式。(都是代碼沒用樣式,代碼擴展性強,易復用) 在5.0以下要實現沉浸式模式首選需要改變狀態欄背景色 FLAG_TRANSLUCENT_STATUS就是將狀態欄設置為半透明狀態,效果如圖 未使用之前效果: 使用之后 狀...

    安卓項目實戰之實現頂部標題欄沉浸式漸變效果

    效果圖如下: 實現步驟: 1、繼承ScrollView實現自定義的ObservableScrollView.java類,代碼如下: 2、頁面布局代碼如下: 3、include_header_itl.xml為頂部標題欄布局文件,代碼如下: 4、主頁面邏輯代碼: 重要知識點: 使用上述代碼獲取控件寬高時,如果是在Activity中,那么可直接在onCreate方法中使用,但如果有多個fragment通...

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    猜你喜歡

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    Linux C系統編程-線程互斥鎖(四)

    互斥鎖 互斥鎖也是屬于線程之間處理同步互斥方式,有上鎖/解鎖兩種狀態。 互斥鎖函數接口 1)初始化互斥鎖 pthread_mutex_init() man 3 pthread_mutex_init (找不到的情況下首先 sudo apt-get install glibc-doc sudo apt-get install manpages-posix-dev) 動態初始化 int pthread_...

    精品国产乱码久久久久久蜜桃不卡