TL, DR;
ContextCompat.getColor()
không sử dụng màu đêm ( values-night/colors.xml
) mặc dù khi bật chế độ ban đêm.
Đây là vấn đề:
Chào mọi người,
Vì vậy, tôi đang triển khai một chủ đề tối cho ứng dụng Android của mình, tôi gọi nó để kích hoạt nó:
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
Tôi đã đặt màu trong values/colors.xml
và có phiên bản tối trong values-night/colors.xml
. Màu sắc thay đổi tốt tùy thuộc vào nightMode, NHƯNG:
Khi tôi sử dụng ContextCompat.getColor(getApplicationContext(), R.id.myColor)
, nó sử dụng màu bình thường ( values/colors.xml
) chứ không phải màu đêm ( values-night/colors.xml
).
Theo tôi build.gradle
, tôi đã thiết lập những điều sau:
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.core:core-ktx:1.2.0-beta01'
Ai đó có thể vui lòng cho tôi biết tôi đang làm gì sai?
PS: Tôi đã xem xét câu hỏi sau đây và nó không trả lời vấn đề này /programming/57779661/contextcompat-getcolor-method-ignores-night-mode
ContextCompat.getColor()
trả về các giá trị hợp lệ sau khi buộc chế độ ban đêm. Bạn có thể giải thích câu hỏi của mình bằng đoạn mã (khi bạn thay đổi chế độ ban đêm / lấy màu) không?