มีหลายวิธีในการเปลี่ยนสีของแถบสถานะ
1) การใช้ styles.xml คุณสามารถใช้แอททริบิวต์ android: statusBarColor เพื่อทำสิ่งนี้ด้วยวิธีที่ง่าย แต่คงที่
หมายเหตุ: คุณยังสามารถใช้คุณสมบัตินี้กับชุดรูปแบบวัสดุ
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="AppTheme.Base">
<item name="android:statusBarColor">@android:color/transparent</item>
</style>
</resources>
2) คุณสามารถทำได้โดยใช้วิธี setStatusBarColor (int) ในคลาส Window แต่โปรดจำไว้ว่าวิธีนี้ใช้ได้เฉพาะกับ API 21 หรือสูงกว่าเท่านั้น ดังนั้นอย่าลืมตรวจสอบว่าแอพของคุณจะชนกับอุปกรณ์ที่ต่ำกว่า
นี่คือตัวอย่างการทำงานของวิธีนี้
if (Build.VERSION.SDK_INT >= 21) {
Window window = getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.setStatusBarColor(getResources().getColor(R.color.primaryDark));
}
โดยที่ primaryDark เป็นสีหลัก 700 สีที่ฉันใช้ในแอพของฉัน คุณสามารถกำหนดสีนี้ในไฟล์ colors.xml
ลองดูและแจ้งให้เราทราบหากคุณมีข้อสงสัย หวังว่ามันจะช่วย