..


Рекламные ссылки

Меню: ContextMenu

В предыдущих главах мы детально проанализированы 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 элемент).

Помощь разрабатывать приложения для Android
E-Learning
Flash MX (хороший) Flash MX (хороший)
Стать дизайнером веб-сайтов от 29 €.
Руби и Ruby On Rails (курс) Руби и Ruby On Rails (курс)
Создание программного обеспечения и веб-приложений с Рубином и RoR. С 39 €.
Расширенный веб-мастеров (курс) Расширенный веб-мастеров (курс)
Станьте профессиональным веб-мастером. С 39 €.
Рекламные ссылки