Tôi đã nhận thấy rằng bằng cách sử dụng các chủ đề của AppCompat, các biểu tượng thanh công cụ mặc định được tô màu theo thuộc tính colorControlNormal
theo phong cách của tôi.Biểu tượng thanh công cụ tô màu trên Android
<style name="MyTheme" parent="Theme.AppCompat">
<item name="colorControlNormal">@color/yellow</item>
</style>
Như bạn thấy ở trên, tuy nhiên, nó không xảy ra với tất cả các biểu tượng. Tôi cung cấp dấu "cộng", mà tôi nhận được từ các biểu tượng chính thức, và nó không bị nhuộm màu (tôi đã sử dụng phiên bản "trắng" của png). Từ những gì tôi đã hiểu từ question này, hệ thống chỉ tô màu các biểu tượng chỉ bằng một kênh alpha. Điều này có đúng không?
Nếu vậy: Có nơi nào tôi có thể tìm thấy biểu tượng tài liệu chính thức được xác định bằng alpha không? Nếu không - và nếu các biểu tượng của Thanh công cụ cần phải là chỉ alpha để được tô màu - Google mong muốn chúng tôi sử dụng các biểu tượng được cung cấp trong Thanh công cụ như thế nào?
Ở đâu đó trong SDK, tôi đã tìm thấy một số biểu tượng kết thúc bằng số _alpha.png
và chúng thực sự được tô màu tốt. Tuy nhiên, tôi cần tập hợp đầy đủ các biểu tượng vật chất và từ các nguồn chính thức, tôi chỉ có thể tìm thấy các số white
, grey600
và black
.
Áp dụng ColorFilter
khi chạy sẽ hơi đau và Thanh công cụ thực tế của tôi - với một số biểu tượng được tô màu, một số khác không - trông khá xấu.
AppCompat chỉ mang lại màu biểu tượng của riêng mình. Bây giờ, bạn sẽ cần phải tự tay tô màu bất kỳ biểu tượng nào bạn đang cung cấp riêng biệt với AppCompat. – alanv
Ngoài ra, câu hỏi được liên kết chỉ áp dụng cho các thông báo, không phải màu nhuộm chung. – alanv
Xem thêm [bài đăng trên StackO này] (http://stackoverflow.com/questions/26780046/menuitem-tinting-on-appcompat-toolbar) để được giải thích kỹ lưỡng. – reVerse