android 设置statusbar颜色和actionbar颜色一样

1.修改主题属性

values-v19之后的主题属性中添加一条即可,如下

1
<item name="android:windowTranslucentStatus">trueitem>

2.设置fitsSystemWindows属性

如果你想让一个View的图像显示在状态栏下,那么就在View的XML布局文件中添加如下属性

1
android:fitsSystemWindows="true"

3.调整View高度

上面两步都是统一的,这一步就比较有针对性了,对不同布局和API版本都会有所微调,主要是顶部View的高度。
如果你像我一样基本使用原生控件,那么一般情况下是调整ToolBar(ActionBar)的高度。你需要给Toolbar加上系统状态栏的高度,因为如果你设置了前面两步,那么ToolBar会上移到状态栏下面,

mToolbar = (Toolbar) findViewById(R.id.toolbar);
        
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)
{
    mToolbar.getLayoutParams().height = getAppBarHeight();
    mToolbar.setPadding(mToolbar.getPaddingLeft(),
            getStatusBarHeight(),
            mToolbar.getPaddingRight(),
            mToolbar.getPaddingBottom());
}

setSupportActionBar(mToolbar);

private int getStatusBarHeight(){
    int result = 0;
    int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android");
    if (resourceId > 0) {
        result = getResources().getDimensionPixelSize(resourceId);
    }
    return result;
}

转自:http://blog.majiajie.me/2016/03/14/Android-%E6%B2%89%E6%B5%B8%E5%BC%8F%E7%8A%B6%E6%80%81%E6%A0%8F%E5%AE%8C%E7%BE%8E%E5%AE%9E%E7%8E%B0/

你可能感兴趣的:(android)