在某网站上看到一个效果,就是关键字的布局呈球状排布,并可以根据鼠标的移动而旋转。于是也想在Android实现同样的效果,顺便封装成通用的控件,说不定以后就可以用到了。
说干就干,大家先看看我的实现效果,Github地址:https://github.com/dgutkai/RollingBall.git,欢迎fork。
一、技术选型
开始我选择自定义一个View,在View的OnDraw方法中绘制球形,然而这种方法最大的一个缺点就是球形元素不能很好添加事件。于是改成现在的方法,即集成ViewGroup,将子控件的按照球形摆布,这样每一个子控件可以单独接受事件,也可以在XML任意布局控件。