2011-02-08 6 views
0

У меня есть пункт меню и значки для него в размерах 36x36,48x48 и 72x72 пикселей. Теперь, как сделать каждый значок в отдельных случаях. Можно ли определить это в XML-файле?Значки меню Android

+0

Что это за конкретные случаи? – xandy

ответ

5

Я думаю, вы уже видели эту полезную ссылку:

http://developer.android.com/guide/practices/ui_guidelines/icon_design.html

Все, что вам нужно сделать, это сохранить различные варианты при разных папках, но с тем же именем:

res/drawable-ldpi (36x36) 
res/drawable-mdpi (48x48) 
res/drawable-hdpi (72x72) 

You обратитесь к ним в свой код через общее имя ресурса, но используемая фактическая версия адаптируется в зависимости от размера экрана используемого устройства.

+0

Итак, я использую что-то вроде «@ drawable/example», и он будет автоадаптировать? – lpandzic

+0

Да, если вы это делаете, определяя свой макет. Вы можете сделать это также программно через R.drawable.example. Обратите внимание, что можно также адаптировать свои макеты к разным размерам экрана, но, возможно, это не то, что вы хотите. – Zelimir

0

Обратите внимание, что http://developer.android.com/guide/practices/ui_guidelines/icon_design_menu.html#size9 дает несколько иных размеры иконок:

Menu icon dimensions for high-density (hdpi) screens: 
Full Asset: 72 x 72 px 
Icon: 48 x 48 px 
Square Icon: 44 x 44 px 

Menu icon dimensions for medium-density (mdpi) screens: 
Full Asset: 48 x 48 px 
Icon: 32 x 32 px 
Square Icon: 30 x 30 px 

Menu icon dimensions for low-density (ldpi) screens: 
Full Asset: 36 x 36 px 
Icon: 24 x 24 px 
Square Icon: 22 x 22 px 

Если вы используете иконку более чем 48x48 на экране ИПЧРА, пользователь не будет видеть название пункта меню (или увидеть усеченное название , что еще хуже).

Смежные вопросы