package com.llf.basemodel.commonwidget; import android.content.Context; import android.os.Build; import android.support.v7.widget.Toolbar; import android.util.AttributeSet; /** * Created by llf on 2017/3/8. * 沉浸式、版本兼容的Toolbar,状态栏透明 */ public class CompatToolbar extends Toolbar { public CompatToolbar(Context context) { this(context, null); } public CompatToolbar(Context context, AttributeSet attrs) { this(context, attrs, 0); } public CompatToolbar(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); setup(); } public void setup() { int compatPadingTop = 0; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { compatPadingTop = getStatusBarHeight(); } this.setPadding(getPaddingLeft(), getPaddingTop() + compatPadingTop, getPaddingRight(), getPaddingBottom()); } public int getStatusBarHeight() { int statusBarHeight = 0; int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android"); if (resourceId > 0) { statusBarHeight = getResources().getDimensionPixelSize(resourceId); } return statusBarHeight; } public float px2dp(float pxVal) { final float scale = getContext().getResources().getDisplayMetrics().density; return (pxVal / scale); } }