Путаница в значке меню - они слишком большие!

Я понимаю, что на устройстве hdpi с экраном "нормального" размера что следует использовать графику 72 x 72 пикселя, а в противном случае они должны следовать Руководству по дизайну значков (чего, что интересно, не делают некоторые графические элементы платформы). Однако когда я пытаюсь сделать это, создав свою собственную новую графику или скопировав графический файл из Android SDK, изображение в меню слишком велико и заставляет текстовую метку, то есть заголовок, быть ниже это не появиться. Если я "принудительно" использую графику 48 x 48 пикселей, то размер будет выглядеть хорошо, а текстовая метка сможет появиться, но это не кажется правильным решением, поскольку качество графического отображения ухудшается, а в документации четко указано, что следует использовать графику 72 x 72.

Я понимаю, что для обеспечения правильного масштабирования следует использовать графику с 9 патчами, но ни один из графических значков меню в папках с возможностью переноса платформы не выглядит на самом деле 9 -patch, поскольку у них нет маркеров с 9 патчами. Для этих снимков экрана Я добавил 9-патч-маркеры к копии графики Android SDK 10 72 x 72 hdpi ic_menu_share.png. (Инструмент draw9patch.bat неожиданно изменил цвета изображения.)

На следующих четырех снимках экрана я показываю девять отображаемых значков меню, работающих на моем G2 и работающих на эмуляторе с качествами G2: Android 2.2 API 8 WVGA800 240 точек на дюйм. (Оба этих устройства имеют экраны hdpi «нормального» размера.) Поскольку графика значков меню отображает только шесть одновременно, для каждого устройства есть два снимка экрана: v1 и v2. После снимков экрана показаны компоненты кода, использованные для создания этого приложения, а также ссылка на полный проект со всеми использованными мной графическими файлами.

Emulator_2.2_API8_WVGA800-240_v1:
Emulator_2.2_API8_WVGA800-240_v1

(Примечание: на приведенном выше снимке экрана с эмулятор, значок с надписью «Платформа G2» вместо этого, вероятно, следует обозначить «Запуск платформы», поскольку отображаемая графика относится к текущей платформе Android, а не к платформе G2. Мне было просто лень исправить это.)

Emulator_2.2_API8_WVGA800-240_v2:
Emulator_2.2_API8_WVGA800-240_v2

G2_v1:
G2_v1

G2_v2:
G2_v2

(Обратите внимание, что я тщательно следовал Руководству по дизайну значков при создании и копирование этих изображений.)

AndroidManifest.xml :



    
    
    
        
            
                
                
            
        
    

MenuIconConfusion.java:

public class MenuIconConfusion extends Activity
{
  @Override
  public void onCreate(Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
  }

  @Override
  public boolean onCreateOptionsMenu(Menu menu)
  {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.main_options_menu, menu);
    return true;
  }
}

main_options_menu.xml v1:



    
    
    
    
    

main_options_menu.xml v2:



    
    
    
    
    
    

Некоторые пояснения относительно снимков экрана и кода:

Как и в этой демонстрации, я понимаю, что мы не должны использовать графику из android: drawable по причинам, описанным в рекомендациях по дизайну значков меню .

Для некоторых из значки Я отображал их дважды - по одному разу с заголовком и по одному разу без заголовка - чтобы увидеть, влияет ли наличие заголовка на то, какой рисунок был выбран, и масштабируется ли выбранный рисунок.

Значок с надписью «Platform 10 48 Copy» представляет собой изображение размером 48 x 48 пикселей, скопированное из папки drawable-mdpi платформы Android SDK 10.

Два более светлых значка взяты из девяти патчей. Обратите внимание, что они не демонстрируют характеристик масштабирования.

Значок «72» был добавлен, чтобы показать, что ресурсы drawable-hdpi действительно автоматически выбираются работающей платформой, как и ожидалось. Если бы вместо этого использовались ресурсы drawable-hdmi, то отображаемое число было бы «48».

ВОЗМОЖНЫЕ ВОПРОСЫ:

Вкратце, я не ожидал больших результатов, отображаемых на этих снимках экрана. Хотя я ожидал, что будет использоваться графика drawable-hdpi 72 x 72, я также ожидал, что они будут отображать достаточно места для связанных заголовков. Итак ...

Я мог бы спросить: «Как мне масштабировать графику значка меню, чтобы оставить место для отображения связанного заголовка?»

Я мог бы спросить: «Графика какого размера у нас действительно предполагается использовать для значков меню, не говоря уже о официальной документации ? »

Я могу спросить:« Что, черт возьми, здесь происходит? понимаете? "

Файлы проекта Android с использованной мной графикой можно загрузить с https://sites.google.com/site/androidguiexamples/home/downloads/MenuIconConfusion.zip

5
задан Thane Anthem 3 April 2011 в 05:42
поделиться