Téléchargez simplement le package à partir d'ici et ajoutez-le au chemin de classe de votre projet, ou utilisez simplement le dépôt maven :
Graduation :
implementation ' com.ramotion.circlemenu:circle-menu:0.3.2 '
SBT :
libraryDependencies += " com.ramotion.circlemenu " % " circle-menu " % " 0.3.2 "
Maven :
< dependency >
< groupId >com.ramotion.circlemenu</ groupId >
< artifactId >circle-menu</ artifactId >
< version >0.3.2</ version >
</ dependency >
Placez le CircleMenuView
dans votre mise en page et définissez les icônes et les couleurs des boutons, comme indiqué ci-dessous.
app:button_colors="@array/colors"
app:button_icons="@array/icons"
Exemple de colors
et icons
de tableaux dans 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 >
Ou utilisez le constructeur
CircleMenuView ( @ NonNull Context context , @ NonNull List < Integer > icons , @ NonNull List < Integer > colors )
pour ajouter CircleMenuView
et configurer les boutons par programme (dans le code).
Ensuite, connectez le gestionnaire d'événements CircleMenuView.EventListener
comme indiqué ci-dessous et remplacez les méthodes dont vous avez besoin.
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 );
}
});
Vous pouvez utiliser les méthodes open(boolean animate)
et close(boolean animate)
pour ouvrir et fermer le menu par programmation.
Voici les attributs que vous pouvez spécifier via XML ou des paramètres associés :
button_icons
- Tableau d'icônes de boutons.button_colors
- Tableau de couleurs de boutons.icon_menu
- Icône par défaut du menu.icon_close
- Icône du menu fermé.icon_color
- Couleur de l'icône du menu.duration_ring
- Durée de l'effet d'anneau.duration_open
- Durée de l'animation d'ouverture du menu.duration_close
- Durée de l'animation de fermeture du menu.distance
- Distance entre le bouton central et les boutons Circle Menu Android est publié sous licence MIT. Voir LICENCE pour plus de détails.
Cette bibliothèque fait partie d'une sélection de nos meilleurs projets open source d'interface utilisateur
Si vous utilisez la bibliothèque open source dans votre projet, assurez-vous de créditer et de créer un lien vers www.ramotion.com
Essayez ce composant d'interface utilisateur et bien d'autres similaires dans notre application Android. Contactez-nous si vous êtes intéressé.