Olá!
Estou precisando de um help para minha app. É coisa simples mas não encontrei um modo de fazer ainda…
Meu problema é fazer com que o meu menu apareça quando existir um toque na tela do dispositivo e não apenas quando eu apertar no botão de menu do próprio celular, visto que muitos aparelhos não possuem botão de menu.
O método que vi para evento em toque na tela é o onTouchEvent(MotionEvent event) mas através da sobrescrita dele não consigo chamar o método onCreateOptionsMenu(Menu menu) pois o onTouchEvent não aceita um tipo Menu como parâmetro de entrada.
Segue meu código:
public class TonusprojectActivity 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) {
boolean res = super.onCreateOptionsMenu(menu);
super.onCreateOptionsMenu(menu);
menu.add(0, 1, 0, "Home");
menu.add(0, 2, 0, "Vantagens");
menu.add(0, 3, 0, "Sistema Multipico");
menu.add(0, 4, 0, "Galeria de Imagens");
menu.add(0, 5, 0, "Avaliação Física");
SubMenu sm = menu.addSubMenu("Programas");
sm.add(0, 6, 0, "Circuito Indoor");
sm.add(0, 7, 0, "Hop Br");
sm.add(0, 8, 0, "Move");
sm.add(0, 9, 0, "Believe");
sm.add(0, 10, 0, "Teen Training");
return res;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 1:
setContentView(R.layout.main);
break;
case 2:
setContentView(R.layout.vantagens);
break;
case 3:
setContentView(R.layout.sistemamultitipo);
break;
case 4:
setContentView(R.layout.galeriadefotos);
Gallery g = (Gallery) findViewById(R.id.Gallery01);
g.setAdapter(new ImageAdapter(this));
break;
case 5:
setContentView(R.layout.avaliacaofisica);
break;
case 6:
setContentView(R.layout.circuitoindoor);
break;
case 7:
setContentView(R.layout.hopbr);
break;
case 8:
setContentView(R.layout.move);
break;
case 9:
setContentView(R.layout.believe);
break;
case 10:
setContentView(R.layout.teen);
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
@Override
public boolean onTouchEvent(MotionEvent event){
return true;
}
}
Resumindo, queria que aparecesse o menu quando eu tocasse a tela.