Android實現(xiàn)通知欄透明的方法
這個特性是andorid4.4支持的,最少要api19才可以使用,也就是說如果Android的機子是低于4.4,沉浸通知欄是沒有效果的。下面介紹一下使用的方法,非常得簡單。
/** * 設(shè)置通知欄 這個方法在onCreate()實現(xiàn),如果是在父類的onCreate()中添加,即使所有繼承了該父類都會有沉浸通知欄。 */ public void initSystemBar() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { setTranslucentStatus(true); SystemBarTintManager tintManager = new SystemBarTintManager(this); tintManager.setStatusBarTintEnabled(true); tintManager.setStatusBarTintResource(R.color.red); } } /** * 設(shè)置通知欄的狀態(tài) * @param on */ @SuppressLint("InlinedApi") private void setTranslucentStatus(boolean on) { Window win = this.getWindow(); WindowManager.LayoutParams winParams = win.getAttributes(); final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS; if (on) { winParams.flags |= bits; } else { winParams.flags &= ~bits; } win.setAttributes(winParams); }
在最后在布局文件中添加:android:fitsSystemWindows="true"
即可實現(xiàn)。
Android5.0全透明狀態(tài)欄效果,具體實例代碼如下所示:
實現(xiàn)上述效果的代碼如下:
public class MainActivity extends Activity { @SuppressLint("InlinedApi") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().requestFeature(Window.FEATURE_NO_TITLE); if(VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) { Window window = getWindow(); window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(Color.TRANSPARENT); window.setNavigationBarColor(Color.TRANSPARENT); } setContentView(R.layout.activity_main); } }
以上代碼寫的不好,還請各位大俠多多提出,同時希望本文分享對大家有所幫助。
- Android實現(xiàn)沉浸式通知欄通知欄背景顏色跟隨app導(dǎo)航欄背景顏色而改變
- Android開發(fā)之禁止下拉通知欄的方法
- android實現(xiàn)通知欄下載更新app示例
- android使用NotificationListenerService監(jiān)聽通知欄消息
- Android開發(fā)之使用通知欄顯示提醒信息的方法
- 關(guān)于Android中點擊通知欄的通知啟動Activity問題解決
- Android程序版本更新之通知欄更新下載安裝
- android中創(chuàng)建通知欄Notification代碼實例
- Android不使用自定義布局情況下實現(xiàn)自定義通知欄圖標的方法
- Android Fragment實現(xiàn)底部通知欄
相關(guān)文章
Android WebView無法彈出軟鍵盤的原因及解決辦法
這篇文章主要介紹了Android WebView無法彈出軟鍵盤的原因及解決辦法的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-06-06recycleview實現(xiàn)拼多多首頁水平滑動效果
這篇文章主要為大家詳細介紹了recycleview實現(xiàn)拼多多首頁水平滑動效,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-05-05Android入門之實現(xiàn)手工發(fā)送一個BroadCast
這篇文章主要通過手工來發(fā)送一條BroadCast進一步來帶大家深入了解BroadCast,文中的示例代碼講解詳細,對我們學(xué)習Android有一定幫助,感興趣的可以收藏一下2022-12-12