Итак, давайте сегодня создадим простое меню, для приложения на Android. Создадим новый проект. Назовем его Mymenu, нажмем next. Выберем Empty Activity. Нажмем finish.
Содержание:
Система Android studio подготовит нам новый проект, перейдем в gradle скрипы. В Build gradle, добавим новую имплементацию. Нам понадобятся пакет
implementation 'com.android.support:design:26.0.0-beta1'
По крайней мере, в моем проекте. Нажмем синхронизировать проект.
Пункты меню
Перейдем в папку Res и создадим в ней новую Andriod ресурсную папку с ресурсным типом - меню. В ней же, создадим новый ресурс файл меню. Имя файлу присвоим, как и имя папки - menu.
На наше основное меню перетаскиванием, добавим MenuItem в количестве 3 штук.
В файле strings.xml напишем новые название, для пунктов меню, создав дополнительные строковые значение для них.
Пусть item1 будет Пункт 1, item2 Пункт 2, и item3 пусть будет Выход.
<string name="item1">Пункт 1</string> <string name="item2">Пункт 2</string> <string name="item3">Выход</string>
В текстовом варианте menu.xml присвоим названия из strings.xml для наших пунктов. Также для каждого item мы добавим, Android:id с именем action1, action2,action3,
<item android:id="@+id/action1" android:title="@string/item1"/> <item android:id="@+id/action2" android:title="@string/item2"/> <item android:id="@+id/action3" android:title="@string/item3"/>
для взаимодействия с данными пунктами. Действие номер 1 будет отвечать за что-то, какая то реакция, нажатие пункта Action 2, соответственно, будет отвечать за другие действие, Action 3 будет отвечать за выход из приложения.
В файле MainActivity напишем несколько функций для работы с меню:
onCreateOptionsMenu
@Override
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(R.menu.menu, menu);
return true;
}
onOptionsItemSelected
@Override
public boolean onOptionsItemSelected(MenuItem item){
int id = item.getItemId();
switch (id){
case R.id.action1:
txt.setText(R.string.item1);
return true;
case R.id.action2:
txt.setText(R.string.item2);
return true;
case R.id.action3:
txt.setText(R.string.item3);
finish();
return true;
}
return super.onOptionsItemSelected(item);
}
Объявим переменную типа TextView txt, и свяжем ее с элементом TextView, в onCreate через
txt=(TextView)findViewById(R.id.txt),
в макете activity_main.xml, добавив ему
android:id="@+id/txt"
для отображения текста.
Запустим в эмуляторе наше приложение. Как видим, появляются пункты меню, при нажатии на значение Пункт 1 или 2, текст меняется на Пункт 1 или Пункт 2, при нажатии на кнопку Выход появляется текст Выход и приложение закрывается.
Верстка меню
Кажется, все хорошо. Однако, как всегда в Android Studio данное меню будет работать только на эмуляторе, и поэтому добавим в файл styles.xml небольшой код, а перед этим в AndroidManifest.xml изменим
android:theme="@style/AppTheme"
на
android:theme="@style/AppTheme.NoActionBar"
который говорит о том, что новый стиль без ActionBar. Также в MainActivity onCreate внесем переменную toolbar c типом ToolBar. Определим ее через toolbar = (Toolbar)findViewById(R.id.toolbar), и подключим поддержку setSupportActionBar(toolbar).
В макет activity_main.xml перед TextView добавим следующий код:
<android.support.design.widget.appbarlayout android:id="@+id/app_bar" android:layout_width="fill_parent" android:layout_height="wrap_content" android:fitssystemwindows="false" android:theme="@style/AppTheme.AppBarOverlay" tools:ignore="MissingConstraints,PrivateResource" tools:layout_editor_absolutey="0dp" tools:layout_editor_absolutex="0dp">
<android.support.v7.widget.toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" app:layout_collapsemode="pin" app:popuptheme="@style/AppTheme.PopupOverlay"></android.support.v7.widget.toolbar>
</android.support.design.widget.appbarlayout>
Подключим эти виджеты в импорт нашего приложения.
import android.support.v7.widget.Toolbar;
Нажмем Alt+Enter, и у нас добавится, обновится импорт нашего приложения. Возможно, придется сделать несколько раз для подключения виджета. Нажмем Сохранить.
Теперь мы можем запустить наше приложение в эмуляторе. Все выглядит точно также, но без данного кода, наше приложение не может быть установлено на реальное устройство. Давайте сделаем подписанное приложение.
В прошлой статье, Вы могли видеть, как создать свой сертификат для подписания приложения. Я там все подробно показал. Кто не читал, обязательно посмотрите.
Сейчас я просто подключил свой сертификат. Введу пароль 2 раза, напишу псевдоним. Кнопку запомнить пароль отмечу, сигнатура V2, нажму finish.
Через некоторое время будет сформирован подписанный apk файл, который хранится в папке проекта, в папке release.
Откроем папку проекта и увидим там наше приложение app-release.apk с нашим меню. Я его скопирую и отправлю самому себе на яндекс диск. У меня там уже существует файл с таким же названием. Сейчас данные обновятся, и в видео под этой статьей вы можете посмотреть то, что я записывал на физическом устройстве, то есть на своем мобильном телефоне. Я открыл приложение Яндекс диска, запустил app-release.apk, нажал установку. Открыл, и, как видите, оно выглядит точно так же, как у нас было в эмуляторе, только теперь оно физически установленное и подписанное приложение, который можно передать кому-либо, отправить в PlayMarket, или выложить на своем сайте.
Android studio Android Menu, как сделать меню андроид
Рекомендуем смотреть видео в полноэкранном режиме, в настойках качества выбирайте 1080 HD, не забывайте подписываться на канал в YouTube, там Вы найдете много интересного видео, которое выходит достаточно часто. Приятного просмотра!
С уважением, авторы сайта Компьютерапия
Понравилось? Поделись этим видео с друзьями!
Android studio Android Menu, как сделать меню андроид
Рекомендуем смотреть видео в полноэкранном режиме, в настойках качества выбирайте 1080 HD, не забывайте подписываться на видео ВКонтакте, там Вы найдете много интересного, которое выходит достаточно часто. Приятного просмотра!
С уважением, авторы сайта Компьютерапия
Понравилось? Поделись этим видео с друзьями!
Android studio Android Menu, как сделать меню андроид
Рекомендуем смотреть видео в полноэкранном режиме, в настойках качества выбирайте 1080 HD, не забывайте подписываться на канал в Рутубе, там Вы найдете много интересного, которое выходит достаточно часто. Приятного просмотра!
С уважением, авторы сайта Компьютерапия
Понравилось? Поделись этим видео с друзьями!