Я заметил, что, используя темы AppCompat, значки панели инструментов по умолчанию становятся тонированными атрибутом colorControlNormal
в моем стиле.Значок значка панели инструментов на Android
<style name="MyTheme" parent="Theme.AppCompat">
<item name="colorControlNormal">@color/yellow</item>
</style>
Как вы можете видеть выше, однако, это не происходит со всеми иконками. Я предоставил знак «плюс», который я получил из официальных значков, и он не становится тонированным (я использовал «белую» версию png). Из того, что я понял из этого question, система оттеняет только значки только с альфа-каналом. Это правда?
Если да: Есть ли место, где я могу найти значки, обозначенные значком, официальные значки материалов? Если нет - и если значки панели инструментов должны быть альфа-только для тонирования - как Google ожидает, что мы будем использовать предоставленные значки на панели инструментов?
Где-то в SDK я нашел несколько значков, заканчивающихся на _alpha.png
, и они на самом деле хорошо покраснели. Однако мне нужен полный набор значков материалов, и из официальных источников я мог найти только white
, grey600
и black
.
Применение ColorFilter
во время выполнения было бы немного болезненным, и моя фактическая панель инструментов - с некоторыми значками, тонированными, а некоторые другие - выглядят неплохо.
AppCompat только Оттенки свои собственные иконки. На данный момент вам нужно будет вручную направить любые значки, которые вы предоставляете отдельно от AppCompat. – alanv
Кроме того, связанный вопрос касается только уведомлений, а не общего оттенка. – alanv
См. Также [этот StackO-Post] (http://stackoverflow.com/questions/26780046/menuitem-tinting-on-appcompat-toolbar) для подробного объяснения. – reVerse