Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> 對沉浸式狀態欄的理解,沉浸式狀態欄理解

對沉浸式狀態欄的理解,沉浸式狀態欄理解

編輯:關於android開發

對沉浸式狀態欄的理解,沉浸式狀態欄理解


Android 4.4版本加入了沉浸式者這項功能,相信大家手中的安卓機也早已是Android 

4.4甚至更高版本。越來越多的應用實現了沉浸式狀態欄這一個效果。

我們先看一個Demo,來熟悉一下沉浸式。

 

 

在圖中可以清晰地看到,我們項目的頂部和手機的狀態欄是融合在一起。這樣表現得非常美觀,自然。

 

其實,實現這一效果並非難事。

 

網上關於沉浸式的例子數不勝數,但是不是誤導新人,就是垃圾代碼太多。

 

話不多說,來看看我是怎樣實現這一個效果的。

 

首先我們在要實現這一效果的布局文件(e.g.  example.xml)對應的Activity裡面加入

下面代碼。考慮到谷歌對Android 5.0以後的版本進行了大改。所以我們要在代碼裡進

行判

斷,Android 4.4版本的沉浸式和Android 5.0以後版本的沉浸式是不太一樣的。

 

@Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
  
        // API >= 4.4 or API < 5.0 全透明狀態欄  
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {  
            getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);  
        }  
  
        // API >=5.0 全透明實現  
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {  
            Window window = getWindow();  
            window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);  
            window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN  
                    | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);  
            window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);  
            window.setStatusBarColor(Color.TRANSPARENT);  
        }  
    }  

然後我們在布局文件(e,g.  example.xml)下添加如下代碼

<RelativeLayout...>               ------> 最外層  
...  
</RelativeLayout>             ------> 最外層  
  
在最外層裡面加上  
android:clipToPadding="true"  
android:fitsSystemWindows="true"  

至此,我們的沉浸式就實現了。代碼量很小,也很容易理解。

 

 

更多編程知識請關注,我的新浪微博: @吳天昊TnnoWu

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved