Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android沉浸式狀態欄實現細節

android沉浸式狀態欄實現細節

編輯:關於Android編程

studio,中引入沉浸式兼容庫
compile ‘com.readystatesoftware.systembartint:systembartint:1.0.3’
eclipse,可以導入相應的那個類。

第一類,兼容actionbar
第一步:設置activity主題android:theme=”@style/ActionBarTheme”

第二步:設置狀態欄透明,然後設置狀態欄沉浸的顏色

@TargetApi(19)
private void setTranslucentStatus(boolean on) {
Window win = 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);
    }
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            setTranslucentStatus(true);
        }

SystemBarTintManager tintManager = new SystemBarTintManager(this);
tintManager.setStatusBarTintEnabled(true);
//設置沉浸的顏色        tintManager.setStatusBarTintResource(R.color.statusbar_bg);}

第三步:設置適應windows,在布局文件設置
android:fitsSystemWindows=”true”
如果不設置,應用的ui會頂上去,頂進system ui
ok

第二類 沒有actionbar的activity
第一步,設置主題,android:theme=”@style/FullBleedTheme”

或者
用toolbar只能設置Theme.AppCompat.NoActionBar主題

第二步:同上一個第二步。
設置狀態欄透明+顏色

mTintManager = new SystemBarTintManager(this);
mTintManager.setStatusBarTintEnabled(true);
mTintManager.setNavigationBarTintEnabled(true);  mTintManager.setStatusBarTintResource(R.color.statusbar_bg);

第三步:
android:fitsSystemWindows=”true”
android:clipToPadding=”false”

 

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