..
Nos capítulos anteriores, analisamos em detalhe as IconMenu menu do tipo que geralmente são os mais utilizados. Outro recurso que o Android nos oferece é o ContextMenu que podem ser agrupadas como a estrutura eo funcionamento, no menu que aparece quando você clica no botão direito do mouse em qualquer ícone do Windows.
O fato de ContextMenu não é mostrada ao usuário após um toque de um botão no dispositivo (como o foi para IconMenu), mas está associada a um elemento específico é exibida para o usuário, e depois de uma prolongada botão direito do mouse sobre este widget.
Obviamente, dentro de uma atividade, você pode criar ContextMenu e depois associá-los com vários widgets diferentes, ou criar um ContextMenu única está associada com vários widgets diferentes.
Estamos indo agora para mostrar o código necessário para criar duas diferentes e, em seguida, associar um ContextMenu com um botão e outro para um TextView (antes de você digitar o código você precisa importar o pacote android.view.ContextMenu .*):
onCreate public void (Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
LinearLayout mioLayout LinearLayout = new (this);
Botão = novo botão (this);
bottone.setId (1);
button1.setText ("associado a um botão de menu");
TextView tv = new TextView (this);
tv.setText ("Dê um clique para contextmenu prolongada");
tv.setId (2);
mioLayout.addView (botão);
mioLayout.addView (TV);
setContentView (layout);
registerForContextMenu (botão);
registerForContextMenu (TV);
}
onCreateContextMenu public void (ContextMenu ContextMenu, vista View, ContextMenuInfo MENUINFO) {
if (view.getId () == 1) {
menu.setHeaderTitle ("o botão ContextMenu");
menu.add (Menu.NONE, 1, 1, "botão de Voice 1");
menu.add (Menu.NONE, 2, 2, "botão de Voice 2");
}
else if (view.getId () == 2) {
menu.setHeaderTitle ("ContextMenu de TextView");
menu.add (Menu.NONE, 3, 1, "Item 1 TextView");
menu.add (Menu.NONE, 4, 2, "Item 2 TextView");
}
}
Analisarmos o código proposto. Quanto ao conteúdo do método onCreate as únicas linhas de código já vi são aqueles relacionados com a invocação do método que combina registerForContextMenu, passado como um parâmetro para o widget, qualquer ContextMenu.
De maior interesse é que o método onCreateContextMenu em vez do destino, contém o código para o ContextMenu que queremos criar. Neste caso, para criar um menu diferente para os dois widgets, foi utilizado o método getId () da opinião de que invocou o método onCreateContextMenu (definindo o id dos dois widgets é realizada usando o método onCreate setId ()).
Se formos para dentro para adicionar aos itens de menu que queremos com o método usual usando o shell e adicione o método para definir um ContextMenu setHeaderTitle título.
Para associar um comportamento específico a uma pressão de um dos botões do menu que está a trabalhar da mesma maneira visto no capítulo anterior, no entanto, para OptionMenu digitar o código desejado dentro do método onContextItemSelected (item MenuItem).
| |
Flash MX (Avançado)
Se tornar um designer de sites a partir de 29 €. |
| |
Paint Shop Pro (First)
Gráficos para a Web e edição de fotos com Corel PSP conhecido. A partir de 49 €. |
| |
Webmaster Avançado (Curso)
Torne-se um Webmaster profissional. A partir de 39 €. |