Hier habe ich versucht, ein Optionsmenü zu erstellen, aber das Menü wird nicht auf dem Bildschirm angezeigt. Bitte führen Sie mich, wo ich Fehler mache ...
MenuTest.java
public class MenuTest extends Activity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater=getMenuInflater();
inflater.inflate(R.menu.more_tab_menu, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId())
{
case R.id.feeds:
break;
case R.id.friends:
break;
case R.id.about:
break;
}
return true;
}
}
Und meine XML-Datei ist more_tab_menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/feeds"
android:title="Feeds"/>
<item
android:id="@+id/friends"
android:title="Friends"/>
<item
android:id="@+id/about"
android:title="About"/>
</menu>
Bitte führen Sie mich,
android
android-menu
Vishesh Chandra
quelle
quelle
menu button
vom Emulator gedrückt?Antworten:
public class MenuTest extends Activity { @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.more_tab_menu, menu); // return true so that the menu pop up is opened return true; } }
und vergessen Sie nicht, die Menütaste oder das Symbol am Emulator oder Gerät zu drücken
quelle
Bitte sehen Sie: ==
private int group1Id = 1; int homeId = Menu.FIRST; int profileId = Menu.FIRST +1; int searchId = Menu.FIRST +2; int dealsId = Menu.FIRST +3; int helpId = Menu.FIRST +4; int contactusId = Menu.FIRST +5; @Override public boolean onCreateOptionsMenu(Menu menu) { menu.add(group1Id, homeId, homeId, "").setIcon(R.drawable.home_menu); menu.add(group1Id, profileId, profileId, "").setIcon(R.drawable.profile_menu); menu.add(group1Id, searchId, searchId, "").setIcon(R.drawable.search_menu); menu.add(group1Id, dealsId, dealsId, "").setIcon(R.drawable.deals_menu); menu.add(group1Id, helpId, helpId, "").setIcon(R.drawable.help_menu); menu.add(group1Id, contactusId, contactusId, "").setIcon(R.drawable.contactus_menu); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case 1: // write your code here Toast msg = Toast.makeText(MainHomeScreen.this, "Menu 1", Toast.LENGTH_LONG); msg.show(); return true; case 2: // write your code here return true; case 3: // write your code here return true; case 4: // write your code here return true; case 5: // write your code here return true; case 6: // write your code here return true; default: return super.onOptionsItemSelected(item); } }
quelle
Ändern Sie Ihre
onCreateOptionsMenu
Methode, um zurückzukehrentrue
. So zitieren Sie die Dokumente :quelle
@Override public boolean onCreateOptionsMenu(Menu menu) { new MenuInflater(this).inflate(R.menu.folderview_options, menu); return (super.onCreateOptionsMenu(menu)); } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == R.id.locationListRefreshLocations) { Cursor temp = helper.getEmployee(active_employeeId); String[] matches = new String[1]; if (temp.moveToFirst()) { matches[0] = helper.getEmployerID(temp); } temp.close(); startRosterReceiveBackgroundTask(matches); } else if (item.getItemId()==R.id.locationListPrefs) { startActivity(new Intent(this, PreferencesUnlockScreen.class)); return true; } return super.onOptionsItemSelected(item); }
quelle
Sie können ein Optionsmenü wie folgt erstellen:
Menü-XML-Code:
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/Menu_AboutUs" android:icon="@drawable/ic_about_us_over_black" android:title="About US"/> <item android:id="@+id/Menu_LogOutMenu" android:icon="@drawable/ic_arrow_forward_black" android:title="Logout"/> </menu>
So erhalten Sie das Menü aus MENU XML (Menü XML in Java konvertieren):
@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.my_options_menu,menu); return super.onCreateOptionsMenu(menu); }
So erhalten Sie einen ausgewählten Artikel aus dem Menü:
@Override public boolean onOptionsItemSelected(@NonNull MenuItem item) { switch (item.getItemId()){ case R.id.Menu_AboutUs: //About US break; case R.id.Menu_LogOutMenu: //Do Logout break; } return super.onOptionsItemSelected(item); }
quelle
import android.app.Activity; import android.os.Bundle; import android.view.*; import android.widget.*; public class AndroidWalkthroughApp2 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) { // show menu when menu button is pressed MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.options_menu, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // display a message when a button was pressed String message = ""; if (item.getItemId() == R.id.option1) { message = "You selected option 1!"; } else if (item.getItemId() == R.id.option2) { message = "You selected option 2!"; } else { message = "Why would you select that!?"; } // show message via toast Toast toast = Toast.makeText(this, message, Toast.LENGTH_LONG); toast.show(); return true; } }
quelle
Ersetzen Sie return super.onCreateOptionsMenu (Menü); mit return true; in Ihrer onCreateOptionsMenu- Methode Dies wird helfen
Außerdem sollten Sie die onCreate- Methode in Ihrer Aktivität haben
quelle
Die vorherigen Antworten haben das traditionelle Menü in Android abgedeckt. Dies ist eine weitere Option, die Sie verwenden können, wenn Sie nach einer Alternative suchen
https://github.com/AnshulBansal/Android-Pulley-Menu
Das Riemenscheibenmenü ist eine Alternative zum herkömmlichen Menü, mit dem der Benutzer eine beliebige Option für eine Aktivität intuitiv auswählen kann. Das Menü wird durch Ziehen des Bildschirms nach unten angezeigt. In dieser Geste kann der Benutzer auch eine der Optionen auswählen.
quelle
Die Programmierung der Android-Benutzeroberfläche ist etwas schwierig. Um das Menü Optionen zu aktivieren, müssen wir zusätzlich zu dem von Ihnen geschriebenen Code in Ihrer Überschreibungsmethode OnCreate () setHasOptionsMenu (true) aufrufen. Hoffe das wird dir helfen.
quelle
Wenn auf Ihrem Gerät Android v.4.1.2 oder früher ausgeführt wird, wird
das Menü nicht in der Aktionsleiste angezeigt.
Der Zugriff erfolgt jedoch über die Menü- (Hardware-) Taste.
quelle
Guten Tag, ich wurde überprüft. Wenn Sie Leer wählen, haben
Activity
Sie keine eingebauten Menüfunktionen. Für Einbau müssen Sie Basic auswählen.Activity
Auf diese Weise werden SieActivity
ausgeführtonCreateOptionsMenu
Oder wenn Sie in Leere
Activity
von Anfang an arbeiten Chenge instyles.xml
derquelle