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.

3 Solutions collect form web for “Cómo agregar un RelativeLayout como elemento de menú – Android”

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> 
  • Coloque cuatro diseños relativos igual en la pantalla
  • Cambiar la posición de TextView dinámicamente usando java en RelativeLayout android
  • Cambiar mediante programación RelativeLayout toRightOf to toLeftOf
  • Android RelativeLayout programmatically set centerInParent
  • Tener un EditText sobre un teclado suave con una vista GL en el fondo mediante programación
  • Establecer minHeight en RelativeLayout, deshabilita alignBaseline?
  • ¿Diferencia entre el marco y el diseño relativo?
  • Anula la onMeasure () de RelativeLayout para restringir su relación de aspecto
  • Android RelativeLayout fill_parent comportamiento inesperado en un ListView con diferentes alturas de fila
  • Cómo hacer una barra de progreso mostrar en la parte superior de un botón en android
  • Encuentra la posición de un mapa de bits en la vista de imagen de Android cuando la vista de contenedor se escala centerInside
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.