Android設置頂部狀態欄顏色

參考博客:https://blog.csdn.net/qq_36982160/article/details/82350993
一張圖瞭解android狀態欄顏色劃分

在這裏插入圖片描述

方法一:通過代碼設置狀態欄顏色

/** 
 * 狀態欄相關工具類 
 * 
 */  
public class StatusBarUtils {  

    //設置Activity對應的頂部狀態欄的顏色
    public static void setWindowStatusBarColor(Activity activity, int colorResId) {  
        try {  
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {  
                Window window = activity.getWindow();  
                window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);  
                window.setStatusBarColor(activity.getResources().getColor(colorResId));  
            }  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  

     //設置Dialog對應的頂部狀態欄的顏色
    public static void setWindowStatusBarColor(Dialog dialog, int colorResId) {  
        try {  
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {  
                Window window = dialog.getWindow();  
                window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);  
                window.setStatusBarColor(dialog.getContext().getResources().getColor(colorResId));  
            }  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  
}  

方法二:通過主題設置狀態欄顏色
res->values->styles.xml

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
	<item name="colorPrimary">@android:color/holo_blue_bright</item>
	<item name="colorPrimaryDark">@android:color/holo_blue_bright</item>
</style>

然後在佈局的xml裏面指定theme

android:theme="@style/AppTheme"

1:AndroidManifest.xml文件中的targetSdkVersion必須設置在 21 以上。
2.parent主題必須是 Theme.AppCompat 開頭,兼容包下的主題,所以必須一用 v7 包

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章