FABM: Botón de acción flotante Menú

Tengo menú de acción flotante y uso esta biblioteca para hacerlo 'com.github.clans:fab:1.6.1'
Ahora necesito cambiar mi icono cuando hago clic en él. Tengo un icono, y cuando hago clic en el menú necesito transformarlo a otro icono (icono más). ¿Es posible? Este es mi xml:

 <com.github.clans.fab.FloatingActionMenu android:id="@+id/menu3" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" fab:menu_icon="@drawable/ic_float_cards" android:layout_margin="16dp" fab:menu_animationDelayPerItem="0" fab:menu_colorNormal="@color/event_background" fab:menu_colorPressed="@color/fab_colorPressed" fab:menu_colorRipple="@color/fab_colorRipple" fab:menu_labels_maxLines="2" fab:menu_labels_ellipsize="end"> <com.github.clans.fab.FloatingActionButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_dial_fill" fab:fab_label="Пополнить" style="@style/MenuButtonsSmall.Green" /> <com.github.clans.fab.FloatingActionButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_dial_pay" fab:fab_label="Оплатить" style="@style/MenuButtonsSmall.Yellow" /> <com.github.clans.fab.FloatingActionButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_dial_outcome" fab:fab_label="Перевести" style="@style/MenuButtonsSmall.Red" /> <com.github.clans.fab.FloatingActionButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_dial_income" fab:fab_label="Запрос перевода" style="@style/MenuButtonsSmall.DarkPink" /> <com.github.clans.fab.FloatingActionButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_dial_send" fab:fab_label="Сообщение" style="@style/MenuButtonsSmall.Purple" /> </com.github.clans.fab.FloatingActionMenu> 

Al principio icono es ic_float_cards , pero cuando hago clic debe ser es ic_float_cross
Si usted tiene algunas ideas me dicen por favor)

Esto hace el trabajo y también volverá al icono original.

 final FloatingActionMenu fab = (FloatingActionMenu) findViewById(R.id.menu3); fab.setOnMenuToggleListener(new FloatingActionMenu.OnMenuToggleListener() { @Override public void onMenuToggle(boolean opened) { int drawableId; if (opened) { drawableId = R.drawable.ic_float_cross; } else { drawableId = R.drawable.ic_float_cards; } Drawable drawable = getResources().getDrawable(drawableId); fab.getMenuIconView().setImageDrawable(drawable); } }); 

Hay una mejor solución que incluye cross-fade animación entre icono drawables. Se puede encontrar en la aplicación de clanes de ejemplo aquí . Este es el código que hace el trabajo:

  final FloatingActionMenu fabMenu = ...; AnimatorSet set = new AnimatorSet(); View menuIconView = fabMenu.getMenuIconView(); ObjectAnimator scaleOutX = ObjectAnimator.ofFloat(menuIconView, "scaleX", 1.0f, 0.2f); ObjectAnimator scaleOutY = ObjectAnimator.ofFloat(menuIconView, "scaleY", 1.0f, 0.2f); ObjectAnimator scaleInX = ObjectAnimator.ofFloat(menuIconView, "scaleX", 0.2f, 1.0f); ObjectAnimator scaleInY = ObjectAnimator.ofFloat(menuIconView, "scaleY", 0.2f, 1.0f); scaleOutX.setDuration(50); scaleOutY.setDuration(50); scaleInX.setDuration(150); scaleInY.setDuration(150); scaleInX.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationStart(Animator animation) { fabMenu.getMenuIconView().setImageResource(fabMenu.isOpened() ? R.drawable.ic_float_cross : R.drawable.ic_float_cards); } }); set.play(scaleOutX).with(scaleOutY); set.play(scaleInX).with(scaleInY).after(scaleOutX); set.setInterpolator(new OvershootInterpolator(2)); fabMenu.setIconToggleAnimatorSet(set); 
  • Menú desplegable / emergente personalizado de Android
  • Android añadiendo un submenú a un menuItem, donde es addSubMenu ()?
  • Android appcompat barra de acción elemento de menú showAsAction no funciona
  • Dynamic TextView en ActionBar
  • ¿Cómo actualizar un elemento de menú que se muestra en la barra de acción?
  • ¿Cómo abrir el menú de opciones mediante programación?
  • Problema con el botón Jellybean Menu Android
  • Menú emergente de Android con iconos (similar a la aplicación de Google Map versión 6)
  • Android: Detectar mediante programación si el dispositivo tiene botón de menú de hardware
  • Cómo cambiar la sangría de los elementos del submenú en un NavigationView?
  • Implementación del menú deslizante J. Feinstein
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.