Написание текста на иконку меню в Android? - PullRequest
1 голос
/ 10 апреля 2010

Можем ли мы установить заголовок для пункта меню в Android, если у него есть значок из рисования?

У меня есть значок для элемента меню, и если я установлю значок, то заголовок, установленный для этого элемента меню, не будет виден.

Это возможно или нет?

Надеюсь получить ответ в ближайшее время.

С уважением Сунил

Ответы [ 2 ]

3 голосов
/ 01 сентября 2012

Да, вы можете. Просто добавьте withText к атрибуту android:showAsAction. Пример:

<item android:id="@+id/menu_save"
      android:icon="@drawable/ic_menu_save"
      android:title="@string/menu_save"
      android:showAsAction="ifRoom|withText" />

См. https://developer.android.com/guide/topics/ui/actionbar.html для более подробной информации:)

3 голосов
/ 10 апреля 2010

Это определенно возможно. Код, как это работает:

public boolean onCreateOptionsMenu(Menu menu){
    menu.add(0, MENU_PAUSE, 0, "Pause").setIcon(R.drawable.pause);
    return true;
}

Это создает меню с одним элементом, на который ссылается int MENU_PAUSE (уникальный идентификационный номер), с заголовком «Пауза» и значком паузы из res / drawable.

Если это не поможет, покажите нам свой код?


Изменить, чтобы предоставить больше информации на основе комментариев:

Оказывается, размер изображений имеет значение. Изображения меню Android по умолчанию имеют размер 48 * 48 или меньше, поэтому может показаться, что нужно использовать похожие размеры. Примечание: я не экспериментировал с экранами других размеров, это было только с экраном 320x480.

Альтернатива - изменить фон меню по умолчанию. Их можно изменить, установив тему для вашего приложения в манифесте, а затем добавив следующие строки:

<item name="android:panelBackground">@drawable/yourMenuDrawable</item>
<item name="android:panelFullBackground">@drawable/yourOtherMenuDrawable</item>

Обычное меню использует panelFullBackground, так что оно должно быть первым, которое вы замените. Вы можете найти изображения по умолчанию, которые использует Android в папке SDK / platform / xxx / data / res /, и они называются menu_background.9.png и menu_background_fill_parent_width.9.png.

Я нашел эту информацию, посмотрев файлы по умолчанию и themes , доступные на веб-сайте исходного кода Android

...