Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Nikto
146 / 128 / 34
Регистрация: 28.11.2009
Сообщений: 381
Записей в блоге: 13
#1

Как сделать MenuItem в несколько строк - Программирование Android

14.07.2016, 18:34. Просмотров 195. Ответов 1
Метки нет (Все метки)

Делаю выдвигающуюся боковую панель с меню (как например в приложении плей маркета).
Код разметки:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<android.support.v4.widget.DrawerLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/drawer_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        tools:openDrawer="start">
 
        <android.support.design.widget.NavigationView
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_gravity="start"
            android:id="@+id/navigation_view"
            android:fitsSystemWindows="true"
            android:background="@color/navigation"
            app:menu="@menu/menu_navigation">
        </android.support.design.widget.NavigationView>
В java коде заполняю менюшки. Текст менюшек очень длинный и поэтому он не входит в эту боковую панель. Способ для автоматического перевода строки, где текст не помещается, я не нашёл, думаю его не существует. Думал перевести строку самому, но и так не выходит.
Пишу:
Java
1
menu.add(0, idCounter, 0, "text\r\ntext");
И в итоге то, что после переноса строки вообще не прописывается в меню.
Кто-нибудь сталкивался с такой проблемой? Как быть? Возможно ли то, что я хочу?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.07.2016, 18:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как сделать MenuItem в несколько строк (Программирование Android):

Как сделать LinearLayout в несколько колонок - Программирование Android
Появился вопрос, как сделать LinearLayout в две или несколько колонок, каждый из них содержит как минимум по одной imageview и textview,...

Как сделать выгрузку строк из файла в приложении - Программирование Android
Добрый вечер! Прошу помощи, решил написать простое приложение под андройд. Вот суть программы: есть файлик list.txt и папка, например...

Как сделать, чтобы при копировании сохранялся перенос строк? - Программирование Android
Нужно, чтобы при копировании пользователем текста в текстовое поле сохранялся перенос строк.

ActionBarMenu - MenuItem - Программирование Android
Здравствуйте, столкнулся вроде с банальной проблемой. Но не знаю как решать! Хочу чтобы в ЭкшенБаре отображались известные три точки. Как...

Drawer Navigation and MenuItem - Программирование Android
Добрый вечер. Вот такая проблема возникла. Вот в MainActivity есть Выдвижное меню(Drawer Navigation) и правое дополнительное меню...

Несколько строк в textview - Программирование Android
Казалось бы нет никаких сложностей. Но вот с чем столкнулся и никак не могу понять из-за чего такой эффект. Пытаюсь вывести в поле...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Pablito
2473 / 1918 / 595
Регистрация: 12.05.2014
Сообщений: 6,746
Завершенные тесты: 1
14.07.2016, 18:55 #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
как вариант
1. делаем свою разметку для item-а, то есть создаем файл, например custom_menu_item.xml
XML
1
2
3
4
5
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:singleLine="false" />
2. магия, где-то в активити, где наполняется меню
Java
1
2
3
4
5
            menu.add(0, 42, 0, null);
            final MenuItem item = menu.findItem(42);
            final TextView tv = (TextView) View.inflate(this, R.layout.custom_menu_item, null);
            tv.setText("Ololo Long Long long very very long text azaza atatata");
            item.setActionView(tv);
42 - для примера, это уникальный id для каждого итема
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.07.2016, 18:55
Привет! Вот еще темы с ответами:

Не могу программно поставить Title у MenuItem - Программирование Android
Есть такое выпадающее меню(вроде с 3-ей версии android появилось). Ну если мало места на экране то нажимаете вверху справа и вылазит меню....

Кнопка в несколько строк (заголовок и описание) и картинка (слева или справа) - Программирование Android
Как сделать такую &quot;многофункциональную&quot; кнопку? Заголовок должен быть жирным шрифтом.

Как сделать текст в несколько строк в RadioButton? - C#
Возникла необходимость вывести текст в RadioButton в несколько строк. Штатной возможности сделать я не нашел. Теперь обдумываю 2...

Как сделать текст TreeNode в несколько строк в TreeView? - C#
Как сделать текст TreeNode в несколько строк в TreeView? Я пробовал вставить в текст управляющую последовательность &quot;\n&quot; (&quot;zzz\nyyy&quot;),...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru