2013-10-13 19 views
5

Wie kann ich die Schaltflächen mit Text, mit Bildern in Aktion Leiste wie unten.Hinzufügen von Schaltflächen zu android Aktionsleiste

Ist es möglich, integrierte Android-Taste oder Bild-Taste zu verwenden, wie unten in Aktion Leiste zu tun.

Ich verwende Appcompat, um Aktionsleiste zu verwenden.

enter image description here

+26

Bitte beachten Sie, dass in einer Android-App keine IOS-Stil-Schaltflächen verwendet werden. Benutzer neigen dazu, es nicht zu mögen. – Kuffs

Antwort

11

Ja, Sie können eine benutzerdefinierte ActionBar aufblasen, wenn Sie benötigen.

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    LayoutInflater inflater = (LayoutInflater) getActionBar() 
      .getThemedContext().getSystemService(LAYOUT_INFLATER_SERVICE); 
    View customActionBarView = inflater.inflate(R.layout.actionbar_custom, null); 

    ActionBar actionBar = getActionBar(); 
    actionBar.setDisplayOptions(
      ActionBar.DISPLAY_SHOW_CUSTOM, 
      ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_SHOW_HOME 
        | ActionBar.DISPLAY_SHOW_TITLE); 
    actionBar.setCustomView(customActionBarView, 
      new ActionBar.LayoutParams(
        ViewGroup.LayoutParams.MATCH_PARENT, 
        ViewGroup.LayoutParams.MATCH_PARENT)); 

    setContentView(R.layout.activity_main); 
} 

Wo actionbar_custom.xml Ihr Layout Ressource, in der Regel Dir ein Linearlayout mit dem, was Komponenten sein würde.

+0

ist es möglich, benutzerdefinierte Actionbar im androidManifest selbst anzuwenden? – saravanan

+1

Nein, Sie können der Aktionsleiste keine Elemente aus dem Manifest hinzufügen. Sie können ein Design verwenden, um die displayOptions zu konfigurieren, aber Sie müssen die Ansicht inflationieren und programmatisch in die Aktionsleiste einfügen. Wenn Sie eine benutzerdefinierte Aktionsleiste für eine Reihe verschiedener Aktivitäten anwenden möchten, fügen Sie der OnCreate-Methode einer Basisaktivität den erforderlichen Code hinzu und lassen Sie ihn von anderen Benutzern erweitern. – ivagarz

+0

Aber. Mein Problem ist, wenn ich die Cutom-Ansicht durch meinen Code einstelle, erscheint die Standard-Aktionsleiste für einige Sekunden, dann erscheint nur die benutzerdefinierte Ansicht. – saravanan

Verwandte Themen