美文网首页
Android自定义View:实现弧形卫星动画菜单,可以上下左右

Android自定义View:实现弧形卫星动画菜单,可以上下左右

作者: 玉寒_99cf | 来源:发表于2018-11-07 10:30 被阅读0次

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

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

效果图

state.gif

分析

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

核心代码分析

1.分析

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中使用
     左上<
  <com.example.satellite.SatelliteMenu
    android:id="@+id/left_top" 
    app:orientation="left_top" 
    app:radius="100"
    app:itemSize="35dp"
    android:layout_width="match_parent"
    android:layout_height="match_parent" /> 
     左下 
  <com.example.satellite.SatelliteMenu
    app:orientation="left_bottom"
    app:radius="50"
    app:itemSize="30dp"
    android:layout_width="match_parent" 
    android:layout_height="match_parent" />
    右上
   <com.example.satellite.SatelliteMenu
    android:id="@+id/right_top" 
    app:orientation="right_top" 
    app:radius="100"
    app:isText="true"
    app:textColor="#1546e9" 
    app:textSize="10sp"
    app:itemSize="35dp" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" />
    右下
    <com.example.satellite.SatelliteMenu 
    android:id="@+id/right_bottom"
    app:orientation="right_bottom"
    app:radius="100"
    app:itemSize="30dp" 
    android:layout_width="match_parent"
    android:layout_height="match_parent" /> 

自定义属性

属性 描述
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:实现弧形卫星动画菜单,可以上下左右

      本文链接:https://www.haomeiwen.com/subject/npymxqtx.html