2014-10-10 4 views
5

Ich mache eine Android-Anwendung, die eine Aktionsleiste hat und die Aktionsleiste enthält die Menüpunkte auf beiden Seiten. Also, ich muss ein Menüelement auf der linken Seite und ein Menüelement auf der rechten Seite der Aktionsleiste hinzufügen.Wie legen Sie Menüelemente auf der linken Seite der Aktionsleiste fest?

Dazu habe ich ein benutzerdefiniertes Layout erstellt und auf die Aktionsleiste festgelegt. Wie im Bild unten gezeigt

action bar having custom layout

, aber ich möchte nur Menüpunkte an den Stellen der linken Seite und rechts die anderen Screenshot haben zeigt die Aktionsleiste mit Menüpunkten

actionbar with menu itemss

In dieser enthält die Aktionsleiste die Menüpunkte. Also, ich möchte nur die setzen Sie die Plus-Taste Menü-Element auf der linken Seite als die erste Bildschirmaufnahme, aber ich möchte nicht das benutzerdefinierte Layout dafür verwenden,

Auch ich brauche, um die Schriftart Stil der Actionbar Titel und lege es in die Mitte.

Bitte helfen Sie mir. Ich habe viele Stunden damit verbracht.

Danke

Antwort

1

Sie eine benutzerdefinierte Ansicht für das anlegen. Sie können das Optionsmenü Inflation nicht für Ihren Anwendungsfall verwenden.

Legen Sie den Stil der Aktivität auf Theme.AppCompat fest und verwenden Sie NoActionBar nicht in der Aktivität oder im Anwendungsstil.

Erstellen Sie ein custom_menu-Layout.

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent"> 
    <ImageButton android:src="@drawable/add" 
       android:background="?attr/actionBarItemBackground" 
       android:layout_width="?attr/actionBarSize" 
       android:layout_height="?attr/actionBarSize" 
       android:scaleType="centerInside" 
       android:id="@+id/action_add" 
       android:layout_alignParentLeft="true" 
       android:layout_alignParentTop="true"/> 

    <TextView android:text="NewsFeed" 
       android:background="?attr/actionBarItemBackground" 
       android:layout_height="?attr/actionBarSize" 
       android:layout_width="wrap_content" 
       android:scaleType="centerInside" 
       android:id="@+id/text_appname" 
       android:textSize="30sp" 
       android:textStyle="bold" 
       android:layout_marginLeft="5dp" 
       android:textColor="#FFF" 
       android:paddingTop="5dp" 
       android:layout_toRightOf="@+id/action_add" 
       android:layout_alignParentTop="true"/> 

    <ImageButton android:src="@drawable/search" 
       android:background="?attr/actionBarItemBackground" 
       android:layout_width="?attr/actionBarSize" 
       android:layout_height="?attr/actionBarSize" 
       android:scaleType="centerInside" 
       android:id="@+id/action_search" 
       android:layout_alignParentRight="true" 
       android:layout_alignParentTop="true"/> 
</RelativeLayout> 

In Ihrer Tätigkeit onCreate den folgenden Code

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_mainfeed); 
    ActionBar mActionBar = getSupportActionBar(); 
    mActionBar.setDisplayShowHomeEnabled(false); 
    mActionBar.setDisplayShowTitleEnabled(false); 
    LayoutInflater li = LayoutInflater.from(this); 
    View customView = li.inflate(R.layout.custom_menu, null); 
    mActionBar.setCustomView(customView); 
    mActionBar.setDisplayShowCustomEnabled(true); 
    ImageButton addContent = (ImageButton) customView.findViewById(R.id.action_add); 
    addContent.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      // ... 
     } 
    }); 

    ImageButton search = (ImageButton) customView.findViewById(R.id.action_search); 
    search.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      // ... 
     } 
    }); 
} 
hinzufügen
0

Sie direkt Navigation ziehbar Ihrer Symbolleiste versuchen diesen Code hinzufügen:

yourToolbar.setNavigationIcon("Resource id") 

yourToolbar.setNavigationOnClickListener(new ClickListener(){})