首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android开发笔记(九十九)圆形转盘

    圆形转盘的运用场景常见的有:抽奖转盘、圆形菜单列表、热点客户端环状列表等等。对于圆形转盘的编码实现,主要难点除了手势的触摸控制之外,就在于旋转角度的计算了。下面是旋转角度计算的解决办法: 一、运用Math类的三角函数,计算视图旋转到某个角度时的x坐标和y坐标,此时旋转的圆心是转盘的中心点; 二、运用Path类和Matrix类,对指定文本或图像做旋转操作,此时旋转的圆心是文本或图像的中心点; 三、刷新整个转盘的视图,对于继承自View的视图,直接调用postInvalidate方法即可。对于继承自ViewGroup的视图容器,情况要复杂些,大致得进行以下步骤处理: 1、先删除下面的所有视图,然后添加新的视图,最后请求刷新布局。具体代码示例如下:

    03

    Android开发笔记(十六)秋千摇摆动画SwingAnimation

    上节博主介绍了AlphaAnimation和淡入淡出动画的使用,其实AlphaAnimation只是四种补间动画中的一种。那么为了加深对其他补间动画的理解,我想说说旋转动画RotateAnimation的使用,刚好工作中就有类似的应用场景,正好介绍一下。像我们生活中有许多左右摇摆的画面,比如说老式挂钟的钟摆围绕着竖轴左右摇摆,又比如说公园里人们坐在秋千上荡来荡去,这么一想,嗯,这左右摇摆的秋千动画确实贴近生活。 如果我们把钟摆或者秋千想象成一个线段,这个线段以上面的端点为圆心,先从垂直向下的角度向左旋转;转到一定角度,再向右旋转,同样旋转摆到左边的高度;接着再向左旋转,等到这个线段摆到垂直向下时,就完成了摇摆动作的一个循环。这么看,摇摆动画似乎与旋转动画有些关联,再仔细想想,这摇摆动画其实就是由三段旋转动画衔接起来的呀,先是向左旋转60度,然后向右旋转120度,最后向左旋转60度。所以看看能不能从旋转动画RotateAnimation源码中找找思路。 分析RotateAnimation的源码,我们看到RotateAnimation继承自Animation,除了几个构造函数与初始化函数之外,起主要作用的便是applyTransformation函数。

    04
    领券