Урок 13. Создание простого меню
Урок 13. Создание простого меню
В этом уроке мы:
- создаем пункты меню
Click here to read this article!
- создаем пункты меню
Click here to read this article!
Последний раз редактировалось damager82 11 дек 2017, 23:23, всего редактировалось 9 раз.
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Урок 13. Создание простого меню
Не пойму немного. Мы меню должны рисовать в XML или должны создать объект какого-либо класса, который и реализует этот интерфейс Menu? У меня в примере не появляется меню, ибо мы не создали никакого объекта меню, а лишь описали методы, на сколько я понял.
Re: Урок 13. Создание простого меню
Метод onCreateOptionsMenu вызывается системой, и в него передается объект Menu. А наша задача - наполнить его пунктами.
У меня работает. Нажимаю кнопку menu на эмуляторе и меню отображается.You should place your menu items in to menu
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Урок 13. Создание простого меню
Ой, прошу прощения. Я почему-то невнимательно прочитал то, что нужно меню нажать в эмуляторе, думал оно сразу отображаться должно =) У самого еще пока нету телефона на андроиде, поэтому не очень осведомлен.
Re: Урок 13. Создание простого меню
Спасибо за статью, понятно и интересно!
Ещё тут http://developer.android.com/guide/topics/ui/menus.html написано что можно сделать меню путём создания menu.xml и вообще с помощью разметки. Можете как-то прокомментировать это? Как лучше?
Ещё тут http://developer.android.com/guide/topics/ui/menus.html написано что можно сделать меню путём создания menu.xml и вообще с помощью разметки. Можете как-то прокомментировать это? Как лучше?
Разработка сайтов любой сложности.
Re: Урок 13. Создание простого меню
По идее, с XML проще. Кода точно меньше получится.
Возможно гибкости чуть больше у программного способа, но ненамного.
Возможно гибкости чуть больше у программного способа, но ненамного.
Re: Урок 13. Создание простого меню
У вас все методы созданы автоматически судя по этой надписи // TODO Auto-generated method stub , подскажите как вы это делаете,а то я всё набираю вручную. Спасибо
Re: Урок 13. Создание простого меню
Допустим, хотите реализовать метод onDestroy.daiz123 писал(а):У вас все методы созданы автоматически судя по этой надписи // TODO Auto-generated method stub , подскажите как вы это делаете,а то я всё набираю вручную. Спасибо
1) Начинаете набирать текст "ondes", затем жмете CTRL+пробел - он предложит варианты. Выбираете onDestroy.
2) Либо жмете ALT+SHIFT+S, выбираете Override/Implement methods, выбираете onDestroy, жмете ОК
Re: Урок 13. Создание простого меню
Объясните,я уже и сам печатал,и тупо копировал полный код, в Activity полно ошибок выдает,подскажите, что делаю не так?
Re: Урок 13. Создание простого меню
Весь проект можете экспортнуть, выложить куданить и сюда ссылку кинуть? Поглядим.Тын-Тын писал(а):Объясните,я уже и сам печатал,и тупо копировал полный код, в Activity полно ошибок выдает,подскажите, что делаю не так?
Если нет, то код Activity и скрин раскрытого дерева проекта постите.
И создайте тему здесь, плз - viewforum.php?f=39
Re: Урок 13. Создание простого меню
OnCreateOptionsMenu() вызывается только один раз.
Если его нужно изменить, переопределяйте метод onPrepareOptionsMenu():
Если его нужно изменить, переопределяйте метод onPrepareOptionsMenu():
Код: Выделить всё
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
menu.clear();
getMenuInflater().inflate(R.menu.otions_menu, menu);
for (String word : lastWords)
menu.add(word);
return true;
}
Re: Урок 13. Создание простого меню
У MenuItem есть свойства checkable и checked. Как с ними работать?
При вызове menuItem.setChecked(true); в onPrepareOptionsMenu(Menu menu) флажок не появляется - android:checkable="true" прописано в xml.
При вызове menuItem.setChecked(true); в onPrepareOptionsMenu(Menu menu) флажок не появляется - android:checkable="true" прописано в xml.
Re: Урок 13. Создание простого меню
C простым меню checked не поддерживается - только в контекстном меню, внутри группы.
В onPrepareOptionsMenu можно использовать setIcon() вместо этого.
В onPrepareOptionsMenu можно использовать setIcon() вместо этого.
Re: Урок 13. Создание простого меню
А возможно дописать урок рассказав как можно одно меню разместит на нескольких активити?
Re: Урок 13. Создание простого меню
Это уже не относится к программированию в Андроиде а к ООП вообще, поэтому в уроках вряд ли нужно объяснять.Blockhead писал(а):А возможно дописать урок рассказав как можно одно меню разместит на нескольких активити?
Создаёшь класс BaseActivity extends Activity, где переопределяешь методы onCreateOptionsMenu(), onOptionsItemSelected() и т.д.
От него определяешь MainActivity extends BaseActivity, Activity2 BaseActivity и т.д.
Если уже есть MainActivity extends Activity и хочешь так его переделать, используй рефакторинг Extract SuperClass... для создания класса BaseActivity.
Re: Урок 13. Создание простого меню
когда жмешь на кнопку меню оно не открывается или что ??
Re: Урок 13. Создание простого меню
к тому же , нет кнопки меню! че за бред.
Re: Урок 13. Создание простого меню
У меня справа не отображается виртуальная клавиатура, поэтому пользуюсь F2 - Menu, Esc - Back, Home - Home.Overdos писал(а):к тому же , нет кнопки меню! че за бред.
Виртуальная клавиатура появляется только для стандартных экранов, QVGA например.
http://developer.android.com/tools/help/emulator.html - Здесь про соответствующие клавиши подробно (Эта ссылка была в 3-м уроке).