4. Artigos Android - como definir a barra de status no Android para atingir o estado translúcido de tela inteira

O código é muito simples, da seguinte maneira:

package com.zjxf.utils;


import android.annotation.TargetApi;
import android.app.Activity;
import android.graphics.Color;
import android.os.Build;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;

/**
 * 屏幕适配全屏半透明
 *
 * @author ZHANGHAO
 */
public class StatusBarUtils {

    /**
     * 设置状态栏透明
     *
     * @param activity 上下文对象
     */
    @TargetApi(19)
    public static void setTranslucentStatus(Activity activity) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            Window window = activity.getWindow();
            View decorView = window.getDecorView();
            int option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                    | View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
            decorView.setSystemUiVisibility(option);
            window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
            window.setStatusBarColor(Color.TRANSPARENT);
        } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            Window window = activity.getWindow();
            WindowManager.LayoutParams attributes = window.getAttributes();
            int flagTranslucentStatus = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS;
            attributes.flags |= flagTranslucentStatus;
            window.setAttributes(attributes);
        }
        DataCleanManager.cleanApplicationData(activity.getApplicationContext());
    }

}

Uso: basta chamá-lo no método onCreate de Activity

Acho que você gosta

Origin blog.csdn.net/qq_38821574/article/details/113522106
Recomendado
Clasificación