Android屏幕適配之狀態欄透明實現方案。
項目中經常需要實現狀態欄透明的功能, 下面是實現步驟:
1.隻有4.4以上系統才能 實現狀態欄透明,為瞭適配,需要在values、values-v19、values-v21目錄下建style文件。
true
2.如果界面是一張圖片頂到狀態欄,就已經實現瞭狀態欄透明:
如果界面不是一張圖片頂到狀態欄,那麼需要將佈局往下移一個狀態欄的高度
true false
或者還可以這樣:
public class StatusBarView extends View { private Context context; public StatusBarView(Context context) { this(context,null); } public StatusBarView(Context context, AttributeSet attrs) { super(context, attrs); this.context=context; } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(ScreenUtils.getStatusBarHeight(context), MeasureSpec.EXACTLY)); } }
public class ScreenUtils { public static int getStatusBarHeight(Context context) { Resources resources = context.getResources(); int resourceId = resources.getIdentifier("status_bar_height", "dimen", "android"); return resources.getDimensionPixelSize(resourceId); } }