Galera, tenho esse código:
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.os.Bundle;
import android.view.MenuItem;
public class MainFragments extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_fragments);
}
@Override
public boolean onCreateOptionsMenu(android.view.Menu menu){
MenuItem m1 = menu.add(0, 0, 0, "Alterar Texto do Frag 2");
m1.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
MenuItem m2 = menu.add(0, 1, 0, "Teste");
m2.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item){
FragmentManager fm = getFragmentManager();
switch (item.getItemId()){
case 0:
// Demonstra o método "findFragmentById"
Fragment2 frag2 = (Fragment2) fm.findFragmentById(R.id.frag2);
frag2.setTexto("Texto Atualizado!");
break;
}
return true;
}
}
Gostaria de fazer um Menu de Opções na ActionBar, tipo:
Menu de Opções (Na barra principal):
opção 1 (ao clicar no Menu de Opções)
opção 2 (ao clicar no Menu de Opções)
opções
Como que faço isso? E uma opção com sub-menu.
Procure um artigo de como crialos via XML, dai nesse caso basta ter um child menu dentro deo menu-item.
Alguém teria algum link ou exemplo para passar?
Estou precisando disso.
Alguém teria um link de artigo ou exemplo para criar Menus e sub-menus na ActionBar?
Cara, não sou desses, mas ta ai seu link.
Galera, tenho esse exemplo?
Principal
package in.wptrafficanalyzer.actionbarmenu;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.Toast;
public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.items, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
super.onOptionsItemSelected(item);
switch(item.getItemId()){
case R.id.phone:
Toast.makeText(getBaseContext(), "You selected Phone", Toast.LENGTH_SHORT).show();
break;
case R.id.computer:
Toast.makeText(getBaseContext(), "You selected Computer", Toast.LENGTH_SHORT).show();
break;
case R.id.gamepad:
Toast.makeText(getBaseContext(), "You selected Gamepad", Toast.LENGTH_SHORT).show();
break;
case R.id.camera:
Toast.makeText(getBaseContext(), "You selected Camera", Toast.LENGTH_SHORT).show();
break;
case R.id.video:
Toast.makeText(getBaseContext(), "You selected Video", Toast.LENGTH_SHORT).show();
break;
case R.id.email:
Toast.makeText(getBaseContext(), "You selected EMail", Toast.LENGTH_SHORT).show();
break;
}
return true;
}
}
Menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/phone"
android:title="@string/phone"
android:icon="@drawable/phone"
android:showAsAction="ifRoom|withText"
/>
<item
android:id="@+id/computer"
android:title="@string/computer"
android:icon="@drawable/computer"
android:showAsAction="ifRoom|withText"
/>
<item
android:id="@+id/gamepad"
android:title="@string/gamepad"
android:icon="@drawable/gamepad"
android:showAsAction="ifRoom|withText"
/>
<item
android:id="@+id/camera"
android:title="@string/camera"
android:icon="@drawable/camera"
android:showAsAction="ifRoom|withText"
/>
<item
android:id="@+id/video"
android:title="@string/video"
android:icon="@drawable/video"
android:showAsAction="ifRoom|withText"
/>
<item
android:id="@+id/email"
android:title="@string/email"
android:icon="@drawable/email"
android:showAsAction="ifRoom|withText"
/>
</menu>
Strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">MainActivity</string>
<string name="app_name">ActionBarMenu</string>
<string name="phone">Phone</string>
<string name="computer">Computer</string>
<string name="gamepad">Gamepad</string>
<string name="camera">Camera</string>
<string name="video">Video</string>
<string name="email">EMail</string>
</resources>
Não está aparecendo os tres pontos na barra, só aparecem as opções se clico no Menu do Emulador.
No AVD tenho a API 15, o que pode estar acontecendo?
link que segui:
http://wptrafficanalyzer.in/blog/adding-action-items-and-overflow-menu-items-to-action-bar-in-android/
Isso acontece pq o emulador tem os botões físicos para vc pressionar. Experimente testar seu aplicativo em um dispositivo real, e note que os 3 pontos irão aparecer.
Mas pq que no meu note com a API 17 aparece?
Teria como tirar os tres pontos e colocar um ícone?
Acredito que não, pois a Actionbar tem um limite de ícones que podem ser colocados como menu. Se passar desse limite, os 3 pontos irão aparecer, indicando que existem mais menus para selecionar. Não lembro onde vi isso, mas era uma página no site Android Developers.
Gostaria que ficasse do jeito que esta nesse post:
http://www.guj.com.br/java/304641-ajuda-com-actionbarsherlock-novato
Sem ser a ActionBarSherlock.
É simples: só não adicionar a Actionbar Sherlock no projeto.
Estou usando o ActionBar original, não é a Sherlock, entendeu?
Não estou entendendo, mudei para a mesma api que está no note aqui no meu pc, API
<uses-sdk android:minSdkVersion="17" android:targetSdkVersion="17"/>
Só que no note é Windows 8 e no pc Windows 7. No note aparece os 3 pontos e no pc não.
Ta estranho. Existe diferença se rodar no Win 7 ou Win 8?
No note aparece os 3 pontos, e no pc só aparece clicando em Menu do emulador. As API’s são as mesmas, criei um AVD igual ao note.
Alguém pra ajudar? Não sei pq no Windows 8 aparece os 3 pontos com os menus na própria barra e no 7 aparece na parte debaixo somente se pressionar o Menu do emulador.
To precisando de uma ajudinha, alguém poderia me ajudar nisso?
Alguém podia dar uma força? O código ta funcionando, só queria entender porque no Windows 7 funciona de um jeito e no Windows 8 de outro. No Windows 7 tem que clicar no botão Menu, para aparecer as outras opções, no Windows 8 aparece os 3 pontos.