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.

  • No se puede arrastrar DrawerLayout desde ListView
  • Variables en los recursos XML: pasa valores de padres a hijos
  • Error al inflar el fragmento de clase InflateException Archivo XML binario
  • cómo poner texto bajo vista de imagen
  • Agregar nuevo botón a la barra de acción
  • TEXTVIEW sustanciación ubicación
  • ¿Puedo obtener una vista previa de la barra de acciones en el editor de diseño gráfico?
  • Defina un atributo necesario para <declare-stylable>
  • Cómo cambiar la imagen de un botón con cada clic?
  • Escala de un recurso dibujable en XML (Android)
  • Doctype Android lint.xml con declaración dtd
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.