Ich entwickle eine Android-Anwendung, die eine Standard-ActionBar verwendet.
auf einem bestimmten Bildschirm habe ich ein Filter-Symbol, das bedingt erforderlich ist,
abhängig von den Eigenschaften der angezeigten Daten, z. einige Daten sind filterbar
Andere nicht.
ich kann keine Methoden auf actionbar finden, die wahrscheinlich Kandidaten für programmatisches Ausblenden eines Actionbar Aktionssymbols aussehen. Wie kann ich ein Aktionsleisten-Aktionssymbol aktivieren/deaktivieren?
Oder
Wie kann ich ein Aktionsleisten-Aktionssymbol ein-/ausblenden?
dynamisch aktivieren/deaktivieren ausblenden/einblenden Android ActionBar Action-Symbol
Antwort
Sehen Sie sich das an, es zeigt, wie Sie Menüeinträge zur Laufzeit ändern können.
http://developer.android.com/guide/topics/ui/menus.html#ChangingTheMenu
Sie könnte beispielsweise das Menü als Membervariable Ihrer Aktivität innerhalb onCreateOpionsMenu speichern() und dann so etwas tun:
MenuItem item = mMenu.findItem(R.id.addAction);
item.doSomething()
, wenn Sie ändern möchten, etwas auf einem bestimmten Menüpunkt.
Wie ich verstehe, müssen Sie das Symbol entfernen, das auf der Aktionsleiste oben links angezeigt wird.
Das können Sie mit dieser einfachen Codezeile:
final ActionBar actionBar = getActionBar();
actionBar.setDisplayShowTitleEnabled(false);
Und wenn man so will die App-Namen versuchen, um loszuwerden:
actionBar.setDisplayShowHomeEnabled(false);
Hoffnung, das hilft.
Nicht das, was der OP angefordert hat –
Sie können auch versuchen, diese:
final ActionBar actionBar= getActionBar();
actionBar.hide();
Es wird das Symbol und Titel verbergen.
Vergessen Sie nicht, Ihren Import:
import android.app.ActionBar;
Good Luck
Sie es Methode durch Überschreiben der onPrepareOptionsMenu() tun können. Hier ist ein kleines Beispiel
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
if (count < 1)
menu.getItem(4).setEnabled(false); //disable menuitem 5
if (!after)
menu.getItem(1).setVisible(false); // invisible menuitem 2
invalidateOptionsMenu();
return true;
}
Jedoch ist diese Methode nur aufgerufen, wenn Sie die Menütaste in der Aktionsleiste klicken. Wenn Sie in der Aktionsleiste Symbole haben (mit Ausnahme der Menütaste), wird durch Klicken auf diese die OnPrepareOptionsMenu() -Methode nicht ausgelöst. Um diese Methode manuell auszulösen, können Sie in Ihren Methoden die Methode invalidateOptionsMenu() verwenden. wie dieser
void yourMethod() {
...
invalidateOptionsMenu();
...
}
Wie macht man das auf Fragment? wie invalidateOptionsMenu();? –
getActivity(). InvalidateOptionsMenu() sollte funktionieren. –
- 1. Android ActionBar: Tabs dynamisch ein-/ausblenden?
- 2. Ändern ActionBar Hintergrundfarbe Dynamisch
- 3. Android: ActionBar
- 4. ändern Symbole in ActionBar dynamisch
- 5. Android Navigationsleiste oben ActionBar
- 6. Ändern Android Actionbar Untertitelfarbe
- 7. Swarm App Android - Actionbar
- 8. Android ActionBar nicht
- 9. Android Actionbar SearchView
- 10. Android - ActionBar Sherlock - Suchfilter
- 11. Android ActionBar MenuItem LowerCase
- 12. Android: ActionBar Artikel Animation
- 13. Xamarin.Forms implementieren Android ActionBar
- 14. Android ActionBar Farbe tut
- 15. Android ActionBar Textfarbe
- 16. Android actionbar icon
- 17. ActionBar Titel dynamisch ändern mit Fragment
- 18. Android statusbar Overlay mit ActionBar
- 19. Put ToolBar über ActionBar android
- 20. Android-Optionen-Menü ohne ActionBar?
- 21. Android ActionBar benutzerdefinierte Layout-Styling
- 22. Android Sherlock ActionBar Up-Taste
- 23. Android ActionBar zeigt keinen Artikel
- 24. Android: ActionBar ausblenden, Tabs beibehalten
- 25. Android - Ändern Actionbar Titel Textfarbe
- 26. Ändern Android 5.0 Actionbar Farbe
- 27. Android ActionBar nicht Hintergrundfarbe ändern
- 28. Android verschachtelte PreferenceScreen mit ActionBar
- 29. Redraw ActionBar in Android manuell
- 30. Android ActionBar setActionView Layout Ausgabe
Phil, danke, dass du dir die Zeit genommen hast. Das ist genau das, was ich brauchte. schäme mich, ich konnte es nicht selbst finden :-) – Hector