ActionBar-Elemente erscheinen immer im Überlaufmenü

Ich versuche, Aktionen in der Aktionsleiste hinzuzufügen, aber die Elemente werden immer in die Überlaufliste aufgenommen, auch dort ist viel Platz. Irgendein Vorschlag, dieses zu lösen?

Bildbeschreibung hier eingeben

  • Ausnahme - Fehler beim Auflösen des Attributs bei Index 6: TypedValue
  • Wie würden Sie Dalvik verbessern? Android Virtual Machine
  • Warum ist die Höhenänderung, wenn es Abend oder Nacht ist?
  • Können Sie Ressourcen über APKs teilen?
  • Wie entdecke ich den Speicherverbrauch meiner Anwendung in Android?
  • Sende Push auf Android von C # mit FCM (Firebase Cloud Messaging)
  • Das sollte so sein

    Bildbeschreibung hier eingeben

    Main.xml

    <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/action_refresh" android:icon="@drawable/ic_action_refresh" android:showAsAction="ifRoom" android:title="@string/action_refresh" /> <item android:id="@+id/action_search" android:icon="@drawable/ic_action_search" android:showAsAction="ifRoom" android:title="@string/action_search" /> <item android:id="@+id/action_settings" android:title="@string/action_settings" app:showAsAction="never" /> </menu> 

    MainActivity.java

     public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } } 

    AndroidManifest.xml

     <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.actionbardemo.app" > <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.actionbardemo.app.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> 

    Build.gradle

     apply plugin: 'android' android { compileSdkVersion 19 buildToolsVersion "19.0.3" defaultConfig { minSdkVersion 8 targetSdkVersion 19 versionCode 1 versionName "1.0" } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } } dependencies { compile 'com.android.support:support-v4:19.0.1' compile 'com.android.support:appcompat-v7:19.0.1' compile fileTree(dir: 'libs', include: ['*.jar']) } 

  • Wie benutzt man Daggers 2 @Named Qualifier in Kotlin
  • .APK-Upload fehlgeschlagen
  • Muster zu machen AsyncTask "prozedurale"
  • OverridePendingTransition funktioniert nicht
  • Wie man verpasste Anrufe auf Android SDK 2.2 abrufen kann
  • Ist Dalvik noch mehr Gedächtnis hungriger als HotSpot in Bezug auf Objektgrößen?
  • 6 Solutions collect form web for “ActionBar-Elemente erscheinen immer im Überlaufmenü”

    Meine App verwendet die Support-Bibliothek für Kompatibilität auf Versionen so niedrig wie Android 2.2, so muss ich meinen eigenen XML-Namespace definieren und diesen Namespace als Attributpräfix verwenden

    Lösung war das, ich schrieb diesen android:showAsAction="ifRoom" aber ich sollte app:showAsAction="ifRoom"

     <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/action_refresh" android:icon="@drawable/ic_action_refresh" app:showAsAction="ifRoom" android:title="@string/action_refresh" /> <item android:id="@+id/action_search" android:icon="@drawable/ic_action_search" app:showAsAction="ifRoom" android:title="@string/action_search" /> <item android:id="@+id/action_settings" android:title="@string/action_settings" app:showAsAction="never" /> </menu> 

    In der Menü-XML-Datei musst du dein add hinzufügen: showAsAction = "immer" wie unten.

     <item android:id="@+id/Option" android:actionProviderClass="android.support.v7.widget.ShareActionProvider" android:icon="@drawable/ic_action_settings" android:title="Option" yourapp:showAsAction="always"/> <item android:id="@+id/Save" android:actionProviderClass="android.support.v7.widget.ShareActionProvider" android:icon="@drawable/ic_action_save" android:title="Save" yourapp:showAsAction="always"/> 

    Nach dem Dokument

    Wenn Ihre App die Support-Bibliothek für die Kompatibilität auf Versionen so niedrig wie Android 2.1 verwendet, ist das showAsAction-Attribut nicht im android: namespace verfügbar. Stattdessen wird dieses Attribut von der Support-Bibliothek bereitgestellt und Sie müssen Ihren eigenen XML-Namespace definieren und diesen Namespace als Attributpräfix verwenden. (Ein benutzerdefinierter XML-Namespace sollte auf Ihrem App-Namen basieren, aber es kann ein beliebiger Name sein und ist nur im Rahmen der Datei zugänglich, in der Sie es deklarieren.) Zum Beispiel:

     <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:yourapp="http://schemas.android.com/apk/res-auto" > <!-- Search, should appear as action button --> <item android:id="@+id/action_search" android:icon="@drawable/ic_action_search" android:title="@string/action_search" yourapp:showAsAction="ifRoom" /> ... </menu> 

    Versuche dies:

     <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/action_refresh" android:icon="@drawable/ic_action_refresh" app:showAsAction="ifRoom" android:title="@string/action_refresh" /> <item android:id="@+id/action_search" android:icon="@drawable/ic_action_search" app:showAsAction="ifRoom" android:title="@string/action_search" /> <item android:id="@+id/action_settings" android:title="@string/action_settings" app:showAsAction="never" /> 

    Wenn du alle Artikel immer in der Aktionsleiste anzeigen möchtest, dann mache deine Menü-XML-Datei wie folgt:

     <item android:id="@+id/action_refresh" android:icon="@drawable/ic_action_refresh" app:showAsAction="always" android:title="@string/action_refresh" /> <item android:id="@+id/action_search" android:icon="@drawable/ic_action_search" app:showAsAction="always" android:title="@string/action_search" /> <item android:id="@+id/action_settings" android:title="@string/action_settings" app:showAsAction="always" /> 

    Versuche es mit android:showAsAction="always" für die Items im Menü.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.