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

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

Войти
Регистрация
Восстановить пароль
 
Nikto
144 / 126 / 34
Регистрация: 28.11.2009
Сообщений: 368
Записей в блоге: 12
#1

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

14.07.2016, 18:34. Просмотров 146. Ответов 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 Как сделать выгрузку строк из файла в приложении
Android как вызвать несколько функции
Как сделать LinearLayout в несколько колонок Android
Android TextToSpeech, как вызвать speak несколько раз подряд?
Не могу программно поставить Title у MenuItem Android
Android Кнопка в несколько строк (заголовок и описание) и картинка (слева или справа)
Android Несколько строк в textview
ActionBarMenu - MenuItem Android
Как вставить несколько изображений в textView Android
Как связать несколько ImageView в ScrollView или WebView? Android
Android Drawer Navigation and MenuItem
Android Как сделать, чтобы при копировании сохранялся перенос строк?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
2012 / 1754 / 545
Регистрация: 12.05.2014
Сообщений: 6,208
Завершенные тесты: 1
14.07.2016, 18:55     Как сделать MenuItem в несколько строк #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 для каждого итема
Yandex
Объявления
14.07.2016, 18:55     Как сделать MenuItem в несколько строк
Ответ Создать тему
Опции темы

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