Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android 沉浸式狀態欄(像ios那樣的狀態欄與應用統一顏色樣式)

android 沉浸式狀態欄(像ios那樣的狀態欄與應用統一顏色樣式)

編輯:關於Android編程

這個特性是andorid4.4支持的,最少要api19才可以使用。下面介紹一下使用的方法,非常得簡單:

 

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //透明狀態欄
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        //透明導航欄
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);

    }


}

 

 

        //透明狀態欄
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        //透明導航欄
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);

 

只要加入這兩行代碼,就可以實現沉浸式通知欄了。效果如圖:

\

 

給大家看看這個界面的布局:

 




    

是一個垂直的流布局,但這樣,其實還是有問題的,我在textView裡面加一些文字,就是綠色的那一塊,大家看一下效果:

 

\

大家看到了吧,文字和狀態欄重疊在一起了,這肯定是不行的,此時需要添加下面的代碼:

 

 

    android:fitsSystemWindows=true
    android:clipToPadding=true

 

 





    

大家看紅色的那部分,加入那兩行以後,界面仍然會是沉浸式的,但狀態欄那部分,就不會再重疊了,像加了padding一樣,如下圖:

 

\

大家看圖,綠色的textView和紅色的一個button都被下移了,狀態欄是白色的,是背景linearLayout的顏色。很明顯,這也不是我們想要的,我們希望狀態欄和我們放在頂部的控件是同一個顏色,同時,控件內容也不和狀態欄重復,其實,只要把那兩行代碼放到我們頂部的控件就可以了。代碼如下:

 

 





    
就是那兩行紅色的代碼,放在綠色的textView上,這樣,就會是下面的效果:

 

這就是我們想要的了。

 

 

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