ActionLayout para los elementos de la vista de navegación se muestra en el lado derecho

Estoy desarrollando una aplicación en la que estoy usando el controlador de vista de navegación de la nueva biblioteca de soporte de diseño para el menú de cajones. Todo está funcionando bien. He definido elementos para la vista de navegación mediante el atributo app:menu . Los artículos se muestran perfectamente. Ahora estoy añadiendo la app:actionLayout para esos artículos y también se está agregando, pero el problema es que se está mostrando a la derecha en la vista.

Mi Actividad XML

 <?xml version="1.0" encoding="utf-8"?> 

 <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="?attr/colorPrimary" android:minHeight="?attr/actionBarSize" app:popupTheme="@style/AppTheme.PopupOverlay"> <afour.com.uniapp.customwidgets.CustomTextView android:id="@+id/text_toolbarTitle" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:gravity="start" android:text="@string/app_name" android:textColor="@android:color/white" android:textSize="20sp" app:FontName="@string/type_face_splash" /> </android.support.v7.widget.Toolbar> <FrameLayout android:id="@+id/frame_content" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@id/toolbar" /> </RelativeLayout> <android.support.design.widget.NavigationView android:id="@+id/navigation_view" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" android:background="@android:color/holo_green_dark" android:paddingTop="20dp" app:headerLayout="@layout/navigation_header_layout" app:paddingStart="0dp" app:itemBackground="@android:color/holo_green_light" app:itemTextColor="@android:color/white" app:menu="@menu/main_menu" /> </android.support.v4.widget.DrawerLayout> 

Mi archivo de menú

 <?xml version="1.0" encoding="utf-8"?> 

 <item android:id="@+id/nav_about" android:title="@string/aboutus" app:showAsAction="never" /> <item android:id="@+id/nav_logout" app:actionLayout="@layout/logout_item_layout" app:showAsAction="collapseActionView" /> </menu> 

Mi archivo de disposición de acciones

 <?xml version="1.0" encoding="utf-8"?> 

 <ImageButton android:layout_width="60dp" android:layout_height="60dp" android:layout_marginLeft="10dp" android:layout_marginStart="10dp" android:background="@android:color/transparent" android:contentDescription="@string/aboutus" android:padding="05dp" android:src="@android:drawable/ic_menu_help" /> <afour.com.uniapp.customwidgets.CustomTextView android:id="@+id/text_logout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginStart="20dp" android:gravity="start" android:text="@string/logout" android:textColor="@android:color/white" android:textSize="20sp" app:FontName="@string/type_face_regular" /> </LinearLayout> 

PFA de la cuestión Vea la disposición de acción mostrada en rojo en la esquina derecha

One Solution collect form web for “ActionLayout para los elementos de la vista de navegación se muestra en el lado derecho”

En el archivo xml de la distribución de acciones, puede solucionar el problema añadiendo a la vista raíz (un LinearLayout en su caso) las siguientes propiedades:

 <LinearLayout ... android:layout_gravity="start"> 

Pero tome nota de lo que dice la documentación sobre actionLayout:

Android: actionLayout: recurso de diseño. Un diseño para usar como la vista de acción. https://developer.android.com/guide/topics/resources/menu-resource.html

Y una acciónVer:

Una vista de acción es una acción que proporciona una rica funcionalidad dentro de la barra de aplicaciones. Por ejemplo, una vista de acción de búsqueda permite al usuario escribir su texto de búsqueda en la barra de aplicaciones, sin tener que cambiar actividades o fragmentos. https://developer.android.com/training/appbar/action-views.html

Así que tal vez eso no es la mejor manera de mostrar una vista personalizada en su MenuItem.

Al ver su código, ¿por qué no agregar el icono y el texto al elemento del elemento?

 <item android:id="@+id/nav_logout" android:icon="@android:drawable/ic_menu_help" android:text="@string/logout" /> 

Pero si realmente lo necesita, la forma correcta de mostrar la vista personalizada es implementar un patrón ListView con ViewHolder.

  • ¿Cómo puedo hacer un diamante ShapeDrawable?
  • Android: Cómo crear CursorAdapter desde los datos en un archivo XML
  • Mejor editor de diseño XML de Android que el de Eclipse
  • Icono de elemento del cajón de navegación que no muestra el color original
  • Android: incluye un xml en otro xml
  • Android.widget.SeekBar no se puede convertir en android.widget.TextView
  • @Namespace en Android SimpleXml
  • Android Spinner Dropdown flecha que no se muestra
  • ¿Cómo agrupar una cuadrícula de 3x3 de botones de radio?
  • ¿Cómo puedo eliminar el fondo blanco de una vista web?
  • XML vinculante herramientas para Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.