..
В предыдущих главах мы детально проанализированы IconMenu тип меню, которое, как правило, наиболее часто используемых. Другой ресурс, который предлагает нам Android является ContextMenu, которые могут быть объединены в качестве структуры и функционирования, меню, которое появляется при нажатии правой кнопки мыши на любой значок Windows.
ContextMenu факт не показывается пользователю после нажатия кнопки на устройстве (как это было для IconMenu), но связанных с определенным виджет отображается для пользователя, и после длительной правой кнопкой мыши на этого виджета.
Очевидно, что в рамках деятельности, вы можете создать ContextMenu, а затем связать их с разными виджетами, или создать единый ContextMenu связано с несколькими различными виджетами.
В настоящее время мы собираемся показать код, необходимый для создания двух разных и затем связать ContextMenu с кнопки, а другой TextView (до ввода кода необходимо импортировать пакет android.view.ContextMenu .*):
общественных OnCreate недействительными (Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
LinearLayout mioLayout LinearLayout = новый (это);
Кнопка кнопка = новые кнопки (это);
bottone.setId (1);
button1.setText ("связанный с меню кнопки");
TextView ТВ = новый TextView (это);
tv.setText ("Дайте кнопку в течение длительного ContextMenu");
tv.setId (2);
mioLayout.addView (кнопка);
mioLayout.addView (ТВ);
setContentView (макет);
registerForContextMenu (кнопка);
registerForContextMenu (ТВ);
}
общественных onCreateContextMenu недействительными (ContextMenu ContextMenu, вид В, ContextMenuInfo menuInfo) {
если (view.getId () == 1) {
menu.setHeaderTitle ("ContextMenu кнопку");
menu.add (Menu.NONE, 1, 1, "Голос кнопку 1");
menu.add (Menu.NONE, 2, 2 ", кнопки Голос 2");
}
остальное, если (view.getId () == 2) {
menu.setHeaderTitle ("ContextMenu из TextView");
menu.add (Menu.NONE, 3, 1, "Пункт 1 TextView");
menu.add (Menu.NONE, 4, 2, "Пункт 2 TextView");
}
}
Мы анализируем предложенный код. Что же касается содержания метод OnCreate только строк кода, которые когда-либо видел, связанные с вызовом метода, который сочетает в себе registerForContextMenu, передается в качестве параметра для виджета, любые ContextMenu.
Более интересным является то, что onCreateContextMenu метод вместо судьбы, содержит код для ContextMenu, что мы хотим создать. В этом случае для создания различных меню для двух виджетов, мы использовали метод GetID () считает, что вызывается метод onCreateContextMenu (установка идентификатора два виджета производится с помощью метода OnCreate SETID ()).
Если мы идем внутрь, чтобы добавить в меню мы хотим с обычным методом с использованием оболочки и добавить метод для установки ContextMenu название setHeaderTitle.
Для того, чтобы связать специфическое поведение при давлении в одну из кнопок в меню вы работаете так же, видели в предыдущей главе, однако, для OptionMenu ввода желаемого кода в методе onContextItemSelected (MenuItem элемент).
| |
Flash MX (хороший)
Стать дизайнером веб-сайтов от 29 €. |
| |
Руби и Ruby On Rails (курс)
Создание программного обеспечения и веб-приложений с Рубином и RoR. С 39 €. |
| |
Расширенный веб-мастеров (курс)
Станьте профессиональным веб-мастером. С 39 €. |