2012-05-30 1 views
1

Я пытаюсь разместить ContextMenu в своей ListActivity, когда пользователь нажимает на любой элемент списка, который отображает несколько подкатегорий. Не беспокойтесь, рассказывая мне другие альтернативы (ExpandableList, RadioButton и т. Д.).Переполненный текст ContextMenu

Как я могу получить FULL текст, чтобы он отображался, вместо того, чтобы быть усеченным? Вот как я наполнении ContextMenu:

@Override 
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { 
     super.onCreateContextMenu(menu, v, menuInfo); 

     //Fill context menu with appropriate subcategory 
     menu.setHeaderTitle("Categories"); 
     for(String item : menuItem) 
     { 
      menu.add(0, v.getId(), menu.size()+1, item); 
     } 
    } 

Обратите внимание, что MENUITEM просто String [] массив

Вот мой ContextMenu. ContextMenu Мне кажется, что у дебила недостаточно репутации для публикации фотографий.

ответ

0

Единственный способ, которым я знаю, это создать ваше меню из XML, а не только в коде и изменить размер текста, чтобы весь текст соответствовал. Я немного оглянулся и не мог найти никакой информации о том, как изменить размер текста созданного программой меню.

Документы о создании контекстного меню из XML: here.

0

У меня возникла аналогичная проблема; однако я использую XML-ресурсы меню вместо настройки заголовков через код.

Элемент меню может содержать как заголовок, так и «android: titleCondensed» для сценариев, где заголовок будет усечен.

Из того, что я могу сказать, если вам нужно больше настраиваемого поведения, вам нужно будет указать свои собственные ресурсы макета, чтобы описать более сложное поведение по сравнению с тем, что предоставляет стандартный ресурс меню Android. По сути, вы можете переопределить макет по умолчанию своим.

Если вы программно настраиваете строки для достижения контекстного меню с разными элементами в разное время, вы можете рассмотреть возможность указания заголовков и сокращенных заголовков в ресурсе меню xml, а затем в onCreateContextMenu вы можете добавить логику для вызова «setMenuItemVisibility», для каждого элемента для фильтрации элементов, которые вы не хотите отображать в любой момент времени.

+0

Я пренебрег ссылкой на ресурс меню Android: [Ресурс меню Android] (https://developer.android.com/guide/topics/resources/menu-resource.html) – bduhbya