Android自定义View:实现弧形卫星动画菜单,可以上下左右四个方向展开 Edit Manage topics

项目需求,自己实现弧形卫星菜单,写的不足之处,希望体谅......

具体实现不好描述,可参考demo,查看源码

效果图

Android自定义View:实现弧形卫星动画菜单,可以上下左右四个方向展开 Edit Manage topics_第1张图片
state.gif

分析

1.点击按钮,从按钮处扩散出弧形的几个子View
2.点击按钮是,获取按钮的x、y坐标
3.在一个布局中循环添加子View,同时根据按钮显示的位置决定子View圆形扩散的x,y值
4.添加子View完成之后,每一项子View都执行移动动画

核心代码分析

1.分析

Android自定义View:实现弧形卫星动画菜单,可以上下左右四个方向展开 Edit Manage topics_第2张图片
22AE248A9B4BC4F03E36338D8F0704F1.jpg

2.核心代码
![QF5[A2~JPK7Y]8@ NWGOD20.jpg

使用

1.在项目gradle中添加
  allprojects {
    repositories { 
        ...
        maven { url 'https://jitpack.io' }
    }
  } 
2.添加依赖
  {
    'com.github.JadeKkang:satellitedemo:v1.0'
  }
3.xml中使用
     左上<
   
     左下 
  
    右上
   
    右下
     

自定义属性

属性 描述
orientation left_bottom、left_top、right_bottom、right_top 控制显示的位置
bitmap @mipmap/heart 显示的图片
radius 50 扩散圆的基准半径
isText true 控制图片下面是否显示文字
textSize 10sp 图片下面文字的大小
itemSize 40dp 控制扩散view的大小
textColor #1546e9 图片下面文字的颜色

预留方法

1.setImg(int[] img)设置子View的图片资源

2.setTexts(String[] text)当文字显示时,所显示的文字

3.setClickItem(ClickItem clickItem)点击子View监听回调

注意

1.设置子View数组的大小,就是点击扩散出去的Item数量,建议不要太多,要适当的改变radius属性
2.当有文字显示时,一定要设置显示文字数组,一定要和设置子View的数组大小一样
3.设置文字字体大小,不宜过大,文字长度不宜过长
3.如不能满足要求,可自行扩展

你可能感兴趣的:(Android自定义View:实现弧形卫星动画菜单,可以上下左右四个方向展开 Edit Manage topics)