安卓4.4上實現透明導覽列和狀態列 Translucent system bar

來源:互聯網
上載者:User
1、前言

 

在android kitkat 有一個新的特性可以設定手機狀態列的背景,讓手機整個介面的風格保持一致,看起來非常清爽,在今年的google i/o上的android l預設就是這種風格。來現在看我們怎麼加上這個酷黑狂拽掉渣天的功能怎麼給我們的程式加上。一。

 

 
2、關與kitkat

 

android 4.4 提供了一套能透明的系統ui樣式給狀態列和導覽列,這樣的話就不用向以前那樣每天面對著黑乎乎的上下兩條黑欄了,還可以調成跟activity 一樣的樣式,形成一個完整的主題。

 

3、設定方法

 

首先要開啟activity的透明主題功能,可以把activity的主題設定繼承*.TranslucentDecor 主題,然後設定android:windowTranslucentNavigation 或者android:windowTranslucentStatus的主題屬性為true,又或者在activity的代碼裡面開啟FLAG_TRANSLUCENT_NAVIGATION 或是 FLAG_TRANSLUCENT_STATUS的window視窗標識。由於透明主題不能在4.4以前的版本裡面使用,所以系統樣式跟以前沒有區別,也就是看不到任何變化,這是一個相容模式,這個模式可以相容到api 10.

啟用主題

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    // 建立狀態列的管理執行個體
    SystemBarTintManager tintManager = new SystemBarTintManager(this);
    // 啟用狀態列設定
    tintManager.setStatusBarTintEnabled(true);
    // 啟用導覽列設定
    tintManager.setNavigationBarTintEnabled(true);
}

設定狀態列顏色和圖片

 

// 設定一個顏色給系統欄
tintManager.setTintColor(Color.parseColor("#99000FF"));
// 設定一個樣式背景給導覽列
tintManager.setNavigationBarTintResource(R.drawable.my_tint);
// 設定一個狀態列資源
tintManager.setStatusBarTintDrawable(MyDrawable);
4、開源下載地址

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.