Simplemente descargue el paquete desde aquí y agréguelo a la ruta de clase de su proyecto, o simplemente use el repositorio de Maven:
Gradle:
implementation ' com.ramotion.circlemenu:circle-menu:0.3.2 '
SBT:
libraryDependencies += " com.ramotion.circlemenu " % " circle-menu " % " 0.3.2 "
experto:
< dependency >
< groupId >com.ramotion.circlemenu</ groupId >
< artifactId >circle-menu</ artifactId >
< version >0.3.2</ version >
</ dependency >
Coloque CircleMenuView
en su diseño y configure los íconos y colores de los botones, como se muestra a continuación.
app:button_colors="@array/colors"
app:button_icons="@array/icons"
Ejemplo de colors
e icons
de matrices en resvaluesbuttons.xml
:
<? xml version = " 1.0 " encoding = " utf-8 " ?>
< resources >
< array name = " icons " >
< item >@drawable/ic_home_white_24dp</ item >
< item >@drawable/ic_search_white_24dp</ item >
< item >@drawable/ic_notifications_white_24dp</ item >
< item >@drawable/ic_settings_white_24dp</ item >
< item >@drawable/ic_place_white_24dp</ item >
</ array >
< array name = " colors " >
< item >@android:color/holo_blue_light</ item >
< item >@android:color/holo_green_dark</ item >
< item >@android:color/holo_red_light</ item >
< item >@android:color/holo_purple</ item >
< item >@android:color/holo_orange_light</ item >
</ array >
</ resources >
O usar el constructor
CircleMenuView ( @ NonNull Context context , @ NonNull List < Integer > icons , @ NonNull List < Integer > colors )
para agregar CircleMenuView
y configurar los botones mediante programación (en el código).
A continuación, conecte el controlador de eventos CircleMenuView.EventListener
como se muestra a continuación y anule los métodos que necesita.
final CircleMenuView menu = ( CircleMenuView ) findViewById ( R . id . circle_menu );
menu . setEventListener ( new CircleMenuView . EventListener () {
@ Override
public void onMenuOpenAnimationStart ( @ NonNull CircleMenuView view ) {
Log . d ( "D" , "onMenuOpenAnimationStart" );
}
@ Override
public void onMenuOpenAnimationEnd ( @ NonNull CircleMenuView view ) {
Log . d ( "D" , "onMenuOpenAnimationEnd" );
}
@ Override
public void onMenuCloseAnimationStart ( @ NonNull CircleMenuView view ) {
Log . d ( "D" , "onMenuCloseAnimationStart" );
}
@ Override
public void onMenuCloseAnimationEnd ( @ NonNull CircleMenuView view ) {
Log . d ( "D" , "onMenuCloseAnimationEnd" );
}
@ Override
public void onButtonClickAnimationStart ( @ NonNull CircleMenuView view , int index ) {
Log . d ( "D" , "onButtonClickAnimationStart| index: " + index );
}
@ Override
public void onButtonClickAnimationEnd ( @ NonNull CircleMenuView view , int index ) {
Log . d ( "D" , "onButtonClickAnimationEnd| index: " + index );
}
});
Puede utilizar los métodos open(boolean animate)
y close(boolean animate)
para abrir y cerrar el menú mediante programación.
Estos son los atributos que puede especificar mediante XML o configuradores relacionados:
button_icons
: conjunto de iconos de botones.button_colors
: matriz de colores de botones.icon_menu
: icono predeterminado del menú.icon_close
: icono de menú cerrado.icon_color
: color del icono del menú.duration_ring
- Duración del efecto del anillo.duration_open
- Duración de la animación de apertura del menú.duration_close
- Duración de la animación de cierre del menú.distance
- Distancia entre el botón central y los botones Circle Menu Android se lanza bajo la licencia MIT. Consulte LICENCIA para obtener más detalles.
Esta biblioteca es parte de una selección de nuestros mejores proyectos de interfaz de usuario de código abierto.
Si utiliza la biblioteca de código abierto en su proyecto, asegúrese de acreditar y vincular a www.ramotion.com
Pruebe este componente de interfaz de usuario y más como este en nuestra aplicación de Android. Contáctenos si está interesado.