aheleha
@aheleha
Веб-дизайнер

Как правильно подготавливать иконки для разработчика Андроид?

В гайде показано следующее:
style_icons_system_anatomy_clearance_are

Т.е. сама иконка вписывается в квадрат 24х24dp, а потом этот квадрат вписывается в квадрат 48x48dp. И когда я нарезал у меня так и получалось, что для mdpi размер png получался 48x48dp с иконкой 24х24dp внутри него.
Но потом кодер сказал мне, что когда вставил в приложение, иконка оказалась маленькой и сказал, что эти отступы вокруг самой иконки (Touch target) при нарезке делать не нужно.
Прикрепил иконки.
120d3d8fee754d199023a193909b6ab8.png - это то, что я отдал кодеру

02744b08cda84b6682fe21bd2ca9cf05.png - это то, что я должен был ему отдать по его словам
  • Вопрос задан
  • 1362 просмотра
Решения вопроса 1
Ознакомьтесь более внимательно с гайдами от гугла. В "Clearance" как раз говорится о том, что размер самой иконки 24dp, а Touch target 48dp. Поэтому от вас требуется иконка 24dp под разные разрешения, а программист уже сам сделает отступы по 12dp со всех сторон:
<ImageView
  android:id="@+id/iсon"
  android:layout_width="24dp"
  android:layout_height="24dp"
  android:padding="12dp" // отступы по краям
  android:src="@drawable/ic_search_white_24dp" 
/>


Вообще, рекомендуется использовать стандартные гугловские иконки, если это возможно. В вашем случае лучше так и сделать. Зайдите на гугловский сайт, либо на materialdesignicons.com и скачайте архив с этой иконкой для разных разрешений. В результате у вас получится 5 папок со всеми нужными иконками, которые вы передадите программисту.

Если же вы не нашли подходящую иконку, то можете обратиться к восхитительному ресурсу. Загружаете свою иконку для максимального расширения (xxxhdpi) размером 96х96 px. На выходе получите 5 иконок, которые уже лежат в нужных папках.

Таким образом, вы предоставите программисту все необходимые иконки на блюдечке с голубой каемочкой, и он не будет вас материть.

И еще, как мне кажется, вы делаете неправильно, когда режете иконку прямо вместе с фоном. Более разумно передавать иконку с прозрачным фоном, а цвет самой иконки сделать белым. Потому что в случае изменения цветовой схемы приложения, придется перерисовывать все иконки (менять их фон или цвет). В коде же можно будет добавить пару строк:
<ImageView
...
android:tint="@color/my_color_icon" // цвет иконки
android:background="@color/my_color_icon_background" // цвет фона иконки
/>
/>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы