Подтвердить что ты не робот

Цвет значков дизайна материалов

Каким цветом должен быть значок "темного" материала?

В официальной документации (https://www.google.com/design/spec/style/icons.html#icons-system-icons внизу) 54% черного (серый), но все загрузки значков материалов либо белый, либо 100% черный.

введите описание изображения здесь

Также на новом официальном сайте https://www.google.com/design/icons/ вы можете скачать либо белый, либо черный, но не "серый"!

Итак, я должен установить 54% для всех загруженных значков для себя? Или я что-то пропустил?

4b9b3361

Ответ 1

Я слишком поздно ответить, но тем не менее я отвечу на вопрос, так как это может сэкономить много времени для некоторых разработчиков. Я сам разработчик много боролся, создавая значки разных цветов, и поскольку я не дизайнер, это было очень сложно. После многого поиска я нашел этот плагин в Android Studio под названием Android Icon Generator. Он создает все значки материалов всех цветов с различными размерами, а также с коэффициентом непрозрачности. Это отличная помощь для разработчиков, которые не умеют разрабатывать. Также нет необходимости загружать значки отдельно, этого плагина достаточно.

Ответ 3

Есть три способа обработки непрозрачности:

a) Простой, я загружаю их (на materialdesignicons.com, если мне нужен серый вариант) и используйте их, так как мне не нужно что-либо менять. Если я не найду тот, который мне нужен, я загружаю черный (белый) и преобразую его в 54% -ную непрозрачную версию (это 30-секундная работа на gimp/photoshop).

b) Если мне нужно только "нормальное" и "нажатое" состояние, я загружаю черный (белый), создаю две версии: 54% для естественных и 87% для нажатых, тогда я создаю файл с возможностью рисования объединить их (вы также можете справиться с фокусировкой):

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_pressed="true"
            android:drawable="@mipmap/settings_pressed" /> <!-- pressed -->
        <item android:state_focused="true"
            android:drawable="@mipmap/settings" /> <!-- focused -->
        <item android:drawable="@mipmap/settings" /> <!-- default -->
</selector>

c) Если мне нужно изменить непрозрачность значка часто в моем коде, я делаю это прогамматически:

ImageButton mButton = (ImageButton) findViewById(R.id.button);
final Drawable buttonIcon = context.getResources().getDrawable(R.mipmap.your_icon);
buttonIcon.setAlpha(138); //this is the value of opacity 1~255
mButton.setBackground(buttonIcon);

Обратите внимание, что вы можете комбинировать методы b) и c), поэтому вам не нужно программно программировать нажатие на изменение непрозрачности, но при этом вы можете изменить его общее значение по мере необходимости.