仿网易星球浮动小球
读呗开发过程中遇到新需求,类似于网易星球收集黑钻的界面,考虑到可能也有人会使用,索性封装成库,后面好移植使用
先看看需要实现的效果:
需求分析:
- 数据集合可能是int、double、float等类型
- 小球位置随机
- 没有数据时只有一个默认小球,位置固定
- 小球上下抖动,点击向上运动消失
实现分析:
- 小球随机的位置固定在父view的宽高范围内
- 可以在初始化和点击时判断集合是否为空从而显示默认小球
- 补间动画实现抖动、属性动画实现点击上滑消失(纯属个人习惯,没有规定动画类型)
实现步骤:
FloatView
父控件使用Relativelayout(背景可以先指定,后面已经抽取出来可以自定义)
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@mipmap/star_bg">
</RelativeLayout>
小球布局
<TextView
android:id="@+id/float_view"
android:layout_width="35dp"
android:layout_height="35dp"
android:gravity="center"
android:text="0.01234"
android:textSize="6dp"
android:textColor="#ffffff"
android:background="@drawable/shape_circle"&g