基于Material Design设计的环形菜单控件
AnnularMenu是基于Material Design设计的环形菜单控件。具体使用请往下阅读。
项目地址https://github.com/DingMouRen/AnnularMenuView
引入方式
在module的build.gradle中
com.dingmouren.annularmenu:annularmenu:1.0.2
怎么使用
1.布局文件
<com.dingmouren.annularmenu.AnnularMenu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:position="left_bottom" //菜单的位置
app:radius="120dp" //菜单的半径
app:toggleDuration="500" //菜单打开或者关闭的动画持续时间
>
<com.dingmouren.annularmenu.ShadowImageView
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_centerHorizontal="true"
app:src="@mipmap/menu" //第一个是打开或者关闭菜单的按钮
app:shadowOffsetX="2dp" //阴影在x方向的偏移量
app:shadowOffsetY="2dp" //阴影在y方向的偏移量
app:shadowRadius="5dp" //阴影的半径
/>
<com.dingmouren.annularmenu.ShadowImageView
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_centerHorizontal="true"
app:src="@mipmap/item1" //下面的都是菜单的item项
app:shadowOffsetX="2dp"
app:shadowOffsetY="2dp"
app:shadowRadius="2dp"
/>
...
</com.dingmouren.annularmenu.AnnularMenu>
2.代码中的菜单item项点击的监听
menu1.setOnMenuItemClickListener(new AnnularMenu.OnMenuItemClickListener() {
@Override
public void onClick(View view, int position) {
}
});
属性
AnnularMenu | 描述 |
---|---|
position | 菜单的位置,取值有:left_top left_bottom right_top right_bottom,默认是right_bottom |
radius | 菜单的半径,在菜单的item项数目增多的时候需要设置radius调整item的间距 |
toggleDuration | 菜单打开/关闭动画的持续时间,默认是500毫秒 |
ShadowImageView | 描述 |
---|---|
shadowOffsetX | 阴影在x方向上的偏移量 |
shadowOffsetY | 阴影在y方向上的偏移量 |
shadowRadius | 阴影半径 |
src | 指定图片 |
AnnularMenu公开的方法
AnnularMenu | 描述 |
---|---|
public boolean isOpen() | 判断菜单当前是打开还是关闭状态 |
public void toggle() | 根据菜单当前状态切换打开或者关闭菜单 |
public void setOnMenuItemClickListener(OnMenuItemClickListener onMenuItemClickListener) | 菜单item项的点击监听 |
public void setMenuButtonClickable(boolean clickable) | 设置菜单按钮是否可点击 |
欢迎大家提建议