Configurar el icono de la aplicación en el lado derecho en la barra de herramientas de actividad

Estoy trabajando con la biblioteca 'AppCompact' y he enfrentado algunos problemas con el diseño / posicionamiento. Quiero colocar el icono de la aplicación en el lado derecho de la 'ActionBar'. Un método consiste en definir un botón en la barra de herramientas, pero ¿existe un método estándar para configurar el icono de la aplicación y el botón Arriba en el lado derecho de la barra de herramientas?

Introduzca aquí la descripción de la imagen

Como se puede ver en la imagen anterior, el icono se coloca a la izquierda, quiero que esté a la derecha. Cualquier ayuda sería apreciada.

Ps: Para las personas que pueden enfrentar mi problema se puede arreglar fácilmente con este código Añadir este código a manifestar:

<application android:supportsRtl="true"> 

Y luego escribir este código en Oncreate:

 getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL); 

No hay manera de que Android proporcione para establecer el icono de la aplicación en el lado derecho de la barra de acción, pero todavía se puede hacer eso .

Cree un menú, diga main_menu.xml

 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/menu_item" android:icon="@drawable/your_app_icon" android:title="@string/menu_item" app:showAsAction="always"/> //set showAsAction always //and this should be the only menu item with show as action always </menu> 

Ahora solo anula onCreateOptionsMenu en tu clase de actividad.

Añadir esto en MainActivity.java

 @Override public boolean onCreateOptionsMenu(Menu menu){ getMenuInflater().inflate(R.menu.main_menu, menu); return super.onCreateOptionsMenu(menu); } 

¡Está hecho! El icono de la aplicación estará visible en el lado derecho de ActionBar ahora.

Si tiene más de un elemento en el menú, a continuación, sustituya onPrepareOptionsMenu en la clase de actividad y establezca setEnabled(false) para el elemento de menú que tiene el icono de la aplicación, haciendo esto impide que su icono sea clicable.

 @Override public boolean onPrepareOptionsMenu(Menu menu){ menu.findItem(R.id.menu_item).setEnabled(false); return super.onPrepareOptionsMenu(menu); } 

Ahora su archivo MainActivity.java se vería como

 @Override public boolean onCreateOptionsMenu(Menu menu){ getMenuInflater().inflate(R.menu.main_menu, menu); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item){ switch(item.getItemId()){ case R.id.menu_item: //this item has your app icon return true; case R.id.menu_item2: //other menu items if you have any //add any action here return true; case ... //do for all other menu items default: return super.onOptionsItemSelected(item); } } @Override public boolean onPrepareOptionsMenu(Menu menu){ menu.findItem(R.id.menu_item).setEnabled(false); return super.onPrepareOptionsMenu(menu); } 

Este es el único truco que puedes usar para configurar el icono de la aplicación en el lado derecho.

No hay otra manera que configurar el diseño de RTL o implementarlo usted mismo. Incluso si subclases Toolbar e intenta cambiar onLayout , tendrías que volver a calcular la posición de todas las vistas.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.