Android一个漂亮的圆形菜单

这篇博客介绍了如何在Android应用中实现一个美观的圆形菜单。通过引入com.github.imangazaliev:circlemenu:1.0.2库,设置菜单按钮并监听点击事件,可以创建带有多个图标选项的圆形菜单。菜单的展开和收起状态也可以被监听。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

运行效果:


使用说明:

添加依赖app build.gradle:

  1. compile 'com.github.imangazalievm:circlemenu:1.0.2'
布局文件示例 layout xml-file:

  1. <com.imangazaliev.circlemenu.CircleMenu
  2.         android:layout_width="wrap_content"
  3.         android:layout_height="wrap_content"
  4.         android:layout_centerInParent="true"
  5.         android:id="@+id/circleMenu"
  6.         >
  7.  
  8.         <com.imangazaliev.circlemenu.MenuButton
  9.             android:id="@+id/favorite"
  10.             android:layout_width="wrap_content"
  11.             android:layout_height="wrap_content"
  12.             app:colorNormal="#2196F3"
  13.             app:colorPressed="#1E88E5"
  14.             app:icon="@drawable/ic_favorite"
  15.             />
  16.  
  17.         <com.imangazaliev.circlemenu.MenuButton
  18.             android:id="@+id/search"
  19.             android:layout_width="wrap_content"
  20.             android:layout_height="wrap_content"
  21.             app:colorNormal="#4CAF50"
  22.             app:colorPressed="#43A047"
  23.             app:icon="@drawable/ic_search"/>
  24.  
  25.         <com.imangazaliev.circlemenu.MenuButton
  26.             android:id="@+id/alert"
  27.             android:layout_width="wrap_content"
  28.             android:layout_height="wrap_content"
  29.             app:colorNormal="#F44336"
  30.             app:colorPressed="#E53935"
  31.             app:icon="@drawable/ic_alert"/>
  32.  
  33. </com.imangazaliev.circlemenu.CircleMenu>
菜单项的点击事件:

  1. CircleMenu circleMenu = (CircleMenu) findViewById(R.id.circleMenu);
  2. circleMenu.setOnItemClickListener(new CircleMenu.OnItemClickListener() {
  3.     @Override
  4.     public void onItemClick(MenuButton menuButton) {
  5.  
  6.     }
  7. });
使用OnStateUpdateListener处理菜单的打开和关闭操作

  1. circleMenu.setStateUpdateListener(new CircleMenu.OnStateUpdateListener() {
  2.     @Override
  3.     public void onMenuExpanded() {
  4.  
  5.     }
  6.  
  7.     @Override
  8.     public void onMenuCollapsed() {
  9.  
  10.     }
  11. });

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值