Um menu resource define um menu de aplicação (Menu Opções, Menu de Contexto, ou submenu) que pode ser inflado com MenuInflater
.
Para um guia de utilização de menus, veja o Menusdeveloper guide.
localização de ficheiros:res/menu/filename.xml
O nome do arquivo será usado como o recurso ID. dataype do recurso compilado: Ponteiro do recurso para um recursoMenu
(ou subclasse). referência do recurso: Em Java:R.menu.filename
Em XML:@menu.filename
sintaxe: elementos:<menu>
Necessário. Este deve ser o nó raiz. Contém<item>
e/ou<group>
elementos.
atributos:
xmlns:android
espaço de nomes XML. Necessário. Define o espaço de nomes XML, que deve ser"http://schemas.android.com/apk/res/android"
.<item>
Um item de menu. Pode conter um elemento<menu>
(para um Submenu). Deve ser um filho de um elemento<menu>
ou<group>
.
atributos:
android:id
ID do recurso. Um ID de recurso único. Para criar um novo ID de recurso para este item, use o formulário:"@+id/name"
. O símbolo de mais indica que este deve ser criado como um novo ID.android:title
String resource. O título do menu como um recurso de cadeia de caracteres ou cadeia bruta.android:titleCondensed
String resource. Um título condensado como um recurso de cadeia de caracteres ou uma cadeia de caracteres bruta. Este título é usado para situações em que o título normal é muito longo.android:icon
Recurso sorteável. Uma imagem a ser usada como o ícone do item de menu.android:onClick
Nome do método. O método a ser chamado quando este item de menu é clicado. O método deve ser declarado na atividade como público e aceitar umMenuItem
como parâmetro exclusivo, que indica o item clicado. Este método tem precedência sobre o padrão de retorno paraonOptionsItemSelected()
. Veja o exemplo no rodapé.
Aviso: Se você ofuscar seu código usando ProGuard (ou uma ferramenta similar), certifique-se de excluir o método especificado neste atributo de renomear, pois ele pode quebrar a funcionalidade.
Introduzido no nível da API 11.
android:showAsAction
Palavra-chave. Quando e como este item deve aparecer como um item de ação na barra do aplicativo. Um item de menu só pode aparecer como um item de ação quando a atividade inclui uma barra de aplicativos. Valores válidos:
Valor | Descrição |
---|---|
ifRoom |
Apenas coloque este item na barra da aplicação se houver espaço para ele. Se não houver espaço para todos os itens marcados com "ifRoom" , os itens com os valores mais baixos orderInCategory são exibidos como ações, e os itens restantes são exibidos no menu overflow. |
withText |
Inclua também o texto do título (definido por android:title ) com o item de ação. Você pode incluir este valor junto com um dos outros como um conjunto de bandeiras, separando-os com um pipe | . |
never |
>Nunca coloque este item na barra da aplicação. Em vez disso, liste o item no menu overflow da barra do aplicativo. |
always |
Coloque sempre este item na barra do aplicativo.Evite usar isto a menos que seja crítico que o item apareça sempre na barra de ação. Definir vários itens para sempre aparecerem como itens de ação pode resultar na sobreposição deles com outra IU na barra do aplicativo. |
collapseActionView |
A action view associada a este item de ação (como declarado por android:actionLayout ouandroid:actionViewClass ) é colapsável.Introduzido na API Nível 14. |
Veja a classe de treinamento Adding the App Bar para mais informações.
Introduzido na API Nível 11.
android:actionLayout
Recurso de layout. Um layout a ser usado como a visão de ação.
Veja visualizações de ações e provedores de ações para mais informações.
Introduzido na API Nível 11.
android:actionViewClass
Nome da classe. Um nome de classe totalmente qualificado para aView
a usar como a visualização da ação. Por exemplo,"android.widget.SearchView"
para usarSearchView
como uma visão de ação.
Veja as visões de ação e os provedores de ação para mais informações.
Aviso: Se você ofuscar seu código usando ProGuard (ou uma ferramenta similar), certifique-se de excluir a classe especificada neste atributo de renomear, pois ela pode quebrar a funcionalidade.
Introduzida na API Nível 11.
android:actionProviderClass
Nome da classe. Um nome de classe totalmente qualificado para oActionProvider
a ser usado no lugar do item de ação. Por exemplo,"android.widget.ShareActionProvider"
para usarShareActionProvider
.
Veja as visões de ação e os provedores de ação para mais informações.
Aviso: Se você ofuscar seu código usando ProGuard (ou uma ferramenta similar), certifique-se de excluir a classe especificada neste atributo de renomear, pois ela pode quebrar a funcionalidade.
Introduzido no nível da API 14.
android:alphabeticShortcut
Char. Um caractere para a tecla de atalho alfabética.android:numericShortcut
Inteiro. Um número para a tecla de atalho numérica.android:alphabeticModifiers
Palavra-chave. Um modificador para o atalho alfabético do item de menu. O valor padrão corresponde à tecla de controle. Valores válidos:
Valor | Descrição |
---|---|
META |
Corresponde à meta-chave |
CTRL | Corresponde à meta-chave de Controlo |
ALT | Corresponde ao Alt meta-chave |
SHIFT | Corresponde à meta-chave Shift |
SYM | Corresponde para a meta-chave Sym |
FUNÇÃO | Corresponde à meta-chave Função |
Nota: Você pode especificar várias palavras-chave em um atributo. Por exemplo, android:alphabeticModifiers="CTRL|SHIFT"
indica que para acionar o item de menu correspondente, o usuário precisa pressionar as meta teclas Control e Shift junto com o atalho.
Você pode usar o método setAlphabeticShortcut()
para definir programticamente os valores dos atributos. Para mais informações sobre o atributo alphabeticModifier
, vá para alphabeticModifiers
.
android:numericModifiers
Palavra-chave. Um modificador para o atalho numérico do item de menu. O valor padrão corresponde à tecla Control. Valores válidos:
Valor | Descrição |
---|---|
META | Corresponde à Meta meta-chave |
CTRL | Corresponde à meta-chave de Controlo |
ALT | Corresponde à meta Alt key |
SHIFT | Corresponde à meta-chave Shift |
SYM | Corresponde para a meta-chave Sym |
FUNÇÃO | Corresponde à meta-chave Função |
Nota: Você pode especificar várias palavras-chave em um atributo. Por exemplo, android:numericModifiers="CTRL|SHIFT"
indica que para acionar o item de menu correspondente, o usuário precisa pressionar ambas as meta teclas Control e Shift junto com o atalho.
Você pode usar o método setNumericShortcut()
para definir programticamente os valores dos atributos. Para mais informações sobre o atributo numericModifier
, vá para numericModifiers
.
android:checkable
Booleano. “true” se o item for verificável.android:checked
Booleano. “true” se o item for verificável por padrão.android:visible
Booleano. “verdadeiro” se o item for visível por padrão.android:enabled
Booleano. “true” se o item estiver activado por defeito.android:menuCategory
Palavra-chave. Valor correspondente aMenu
CATEGORY_*
constantes, que definem a prioridade do item. Valores válidos:
Valor | Descrição |
---|---|
container |
Para itens que fazem parte do acontainer. |
system |
Para itens que são fornecidos por este sistema. |
secondary |
Para itens que são opções secundárias fornecidas pelo usuário (pouco utilizadas). |
alternative |
Para itens que são ações alternativas sobre os dados que são exibidos atualmente. |
android:orderInCategory
Inteiro. A ordem de “importância” do item, dentro de um grupo.<group>
Um grupo de menu (para criar uma coleção de itens que compartilham características, tais como se sãovisíveis, habilitados ou verificáveis). Contém um ou mais elementos<item>
. Deve ser um elemento de<menu>
.
atributos:
android:id
ID do recurso. Um único ID de recurso. Para criar um novo ID de recurso para este item, use o formulário:"@+id/name"
. O símbolo de mais indica que este deve ser criado como um novo ID.android:checkableBehavior
Palavra-chave. O tipo de comportamento verificável para o grupo. Valores válidos:
Valor | Descrição |
---|---|
none |
Não verificável |
all |
Todos os itens pode ser marcado (use caixas de seleção) |
single |
Apenas um item pode ser marcado (use radiobuttons) |
android:visible
Boolean. “verdadeiro” se o grupo for visível.android:enabled
Booleano. “verdadeiro” se o grupo estiver ativado.android:menuCategory
Palavra-chave. Valor correspondente aMenu
CATEGORY_*
constantes, que definem a prioridade do grupo. Valores válidos:
Valor | Descrição |
---|---|
container |
Para grupos que fazem parte do acontainer. |
system |
Para grupos que são fornecidos por este sistema. |
secondary |
Para grupos que são secundários fornecidos pelo usuário (pouco utilizados) opções. |
alternative |
Para grupos que são ações alternativas sobre os dados que são exibidos atualmente. |
android:orderInCategory
Inteiro. A ordem padrão dos itens dentro da categoria. exemplo: Arquivo XML salvo emres/menu/example_menu.xml
:
O seguinte código de aplicação infla o menu a partir de onCreateOptionsMenu(Menu)
callback e também declara a callback com um clique para dois dos itens: