Android屏幕適配之狀態欄透明實現方案

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);
    }
}

這裡寫圖片描述

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *