Как я могу выровнять меню / значки панели инструментов Android слева, как в приложении «Карты Google»?

Вот скриншот панели инструментов Google Maps.

Панель инструментов Google Maps

Как вы можете видеть, значки выравниваются влево, а не справа (поведение по умолчанию). Я попытался добавить android: layout_gravity = “left” и android: gravity = “left” на панель инструментов, но это не сработало. Также попытался добавить внутреннюю LinearLayout (с такими же значениями силы тяжести) на Панели инструментов, но также не работал. Есть идеи? Я хочу иметь возможность использовать обычное меню Android с виджетами панели инструментов вместо того, чтобы воссоздавать все с нуля.

    После некоторой борьбы и копания в коде панели инструментов Android мне удалось заставить ее работать. В принципе, идея состоит в том, чтобы добавить новый файл android.support.v7.widget.ActionMenuView в качестве дочернего элемента панели инструментов, установить его силу тяжести в начало и затем добавить меню в это меню действий в своей деятельности. Вот код:

    my_toolbar.xml

       

    my_activity.xml

         

    MyActivity.java

     import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.support.v7.widget.ActionMenuView; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; public final class MyActivity extends ActionBarActivity { private ActionMenuView amvMenu; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // this layout includes the custom toolbar my_toolbar.xml setContentView(R.layout.my_activity); Toolbar t = (Toolbar) findViewById(R.id.tToolbar); amvMenu = (ActionMenuView) t.findViewById(R.id.amvMenu); amvMenu.setOnMenuItemClickListener(new ActionMenuView.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem menuItem) { return onOptionsItemSelected(menuItem); } }); setSupportActionBar(t); getSupportActionBar().setTitle(null); getSupportActionBar().setDisplayHomeAsUpEnabled(true); } @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); // use amvMenu here inflater.inflate(R.menu.my_activity_menu, amvMenu.getMenu()); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Do your actions here return true; } } 

    Если нет особых причин добавлять элементы панели инструментов в качестве действий меню, элементы пользовательского интерфейса могут быть непосредственно добавлены на панель инструментов и выровнены аналогично выравниванию любого другого элемента внутри макета.

    Например, следующая панель инструментов имеет выровненный по левому краю Spinner и правую выровненную EditText.

         
    Давайте будем гением компьютера.