Cómo agregar un RelativeLayout como elemento de menú – Android

Tengo un XML para el menú con un item y un group . Tengo la intención de añadir un RelativeLayout como un elemento de menú en el XML, para que se vea como:

 <menu> <item1/> <item2 <RelativeLayout> <TextView1/> <TextView2/> <RelativeLayout> /> </menu> 

¿Puede esto lograrse en el XML de diseño o mediante programación? Si no, un trabajo alrededor sería provechoso. Gracias.

Crear un archivo de diseño con la vista que desee y luego utilizarlo de esta manera –

 <item android:id="@+id/menu_refresh" android:title="@string/refresh" yourapp:showAsAction="never" android:actionLayout="@layout/my_custom_layout"/> 

Para editar la vista de texto –

 @Override public boolean onPrepareOptionsMenu(Menu menu) { //Get a reference to your item by id MenuItem item = menu.findItem(R.id.menu_refresh); //Here, you get access to the view of your item, in this case, the layout of the item has a RelativeLayout as root view but you can change it to whatever you use RelativeLayout rootView = (RelativeLayout)item.getActionView(); //Then you access to your control by finding it in the rootView TextView textview1 = (TextView) rootView.findViewById(R.id.text1); //And from here you can do whatever you want with your text view return true; } 

Punto importante :

Para utilizar Relativelayout o cualquier otro Layout hay que usar actionLayout como @ Jack's retarded code Answer. Pero tenga en cuenta que.

android:actionLayout="@layout/my_custom_layout" no es un trabajo que tienes que usar app:actionLayout="@layout/my_custom_layout"

Porque si está utilizando ActionbarSherlock o AppCompat , el espacio de nombres android: no funcionará para MenuItems . Esto se debe a que estas bibliotecas utilizan atributos personalizados que imitan las API de Android, ya que no existían en versiones anteriores del framework.

No puedes ponerlo en el menu.xml directamente, tienes que usar el atributo android: actionLayout.

Funciona así:

menu.xml

 <menu> <item ... android:actionLayout="@layout/custom_layout"/> </menu> 

custom_layout.xml

 <RelativeLayout ...> <TextView .../> <TextView .../> <RelativeLayout> 
  • ¿Por qué la imagen de nueve parches en RelativeLayour oculta todos los elementos internos?
  • RelativeLayout - Desplazamiento hacia abajo
  • Android relative layout below 2 artículos
  • Las dependencias circulares no pueden existir en RelativeLayout, android?
  • ¿Es posible distribuir uniformemente los botones a través del ancho de un android RELATIVE LAYOUT
  • Cómo alinear 8 pequeños círculos alrededor de un círculo grande centrado, como muestra la imagen adjunta?
  • Agregar mediante programación ABOVE a LayoutParams hace que la altura de la vista sea 0
  • Android: EditText no rellenar ScrollView y RelativeLayout
  • Usando un RelativeLayout para dividir verticalmente dos fragmentos uniformemente
  • Programar el atributo AlignParentRight al botón en RelativeLayout no funciona?
  • Ocultar diseño incluido en android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.