Eu tenho uma barra de ação em meu aplicativo com 3 itens.
Apenas 2 podem ser exibidos devido a problemas de espaço, então espero que o primeiro seja exibido e o restante seja exibido no estouro. No entanto, na prática, apenas os 2 primeiros itens são mostrados e não há estouro detectável.
Aqui está o código relevante: list_menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/menu_insert"
android:icon="@android:drawable/ic_menu_add"
android:title="@string/menu_insert"
android:showAsAction="ifRoom|withText"/>
<item android:id="@+id/menu_call"
android:icon="@android:drawable/ic_menu_call"
android:title="@string/menu_call"
android:showAsAction="ifRoom|withText"/>
<item android:id="@+id/menu_agenda"
android:icon="@android:drawable/ic_menu_agenda"
android:title="@string/menu_agenda"
android:showAsAction="ifRoom|withText"/>
</menu>
Activity.java
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater mi = getMenuInflater();
mi.inflate(R.menu.list_menu, menu);
return true;
}
android
overflow
android-actionbar
Mats Raemen
fonte
fonte
Respostas:
Se você quiser mostrar os três pontos, independentemente do botão de menu do dispositivo! então você pode chamar este método em sua classe de aplicativo 'método onCreate-
fonte
res / menu / menu.xml
MainActivity.java
Baixe o conjunto de ícones da barra de ação
fonte
android:showAsAction="always"
para mais itemSei que este não é um menu flutuante, mas é semelhante. Ok, isso é simples, mas foi difícil de descobrir.
Primeiro, você precisa de um item de menu que deseja usar como inflador de estouro. Exemplo
Depois de ter seu item, adicione um submenu contendo os itens que deseja no menu flutuante. Exemplo:
Ao clicar, isso aumentará outros itens dentro. Meu aplicativo está usando ActionBarSherlock 4.0, então antes que isso funcione para você, você precisará acessar a "SplitActionBar". (Ainda funcionará na Actionbar padrão do Android)
Veja como: Em seu arquivo AndroidManifest.xml, você precisa adicionar este código na atividade em que precisa do menu flutuante.
NOTA: Seu item que infla seu menu flutuante DEVE
showAsAction="always"
Vwola! você tem um menu flutuante! Espero ter ajudado você. :)
fonte
Em dispositivos com botões de menu de hardware (Galaxy S3, teimoso como o Samsung é ...) o menu flutuante se comporta como o menu 'tradicional', usando o botão de menu de hardware.
fonte
Quando você diz menu "estouro", você quer dizer os três pontos que aparecem no final para indicar que há mais itens ... ou você quer dizer a barra de ação dividida que aparece na parte inferior para itens de estouro?
Se você se refere à barra de ação dividida, deve adicioná-la ao arquivo de manifesto de sua atividade
Por padrão, o menu flutuante de três pontos deve acontecer automaticamente, por isso é difícil dizer qual é o problema com as informações fornecidas acima.
fonte
Para mostrar sempre o estouro de ação (três pontos) em actionbarcompat:
no arquivo de menu, exemplo:
main.xml
e no arquivo de atividade:
Funcionou bem para mim.
Testado no Google Nexus S, Samsung S3.
fonte
Parece que em dispositivos com um botão de menu, o menu flutuante não é exibido na ActionBar. Além disso, não temos como saber se um dispositivo possui um botão de menu de hardware antes do nível 14 da API (4.0+).
Esta solução adiciona um botão de estouro a um
android.support.v7.app.ActionBar
que abre o menu de opções padrão no pré-Honeycomb (<3.0) apenas, caso contrário, deixa-o para o sistema. Em qualquer caso, você pode escolher entrealways
ouifRoom
para todas as ações.Obtenha o ícone de estouro do Action Bar Icon Pack .
Adicionar um menu (omitindo algumas partes não relevantes como títulos, ordem etc.)
Remova nossa ação de estouro em 3.0+
Finalmente chame
Activity.openOptionsMenu()
da ação de estouro.ER não. Você não pode não chamar
openOptionsMenu()
de um botão de menu ... mas se estiver usando AndroidAnnotations será fácil:Se não, você deveria fazer algo assim, suponho
fonte
Tente alterar o tema do aplicativo de Theme.AppCompat.Light.DarkActionBar para Theme.AppCompat.Light
fonte
Coloque
xmlns:your_app_name="http://schemas.android.com/apk/res-auto"
dentro da tag de menu e, em vez disso,android:showAsAction="always"
useyour_app_name:showAsAction="always"
por exemplo
fonte