Android电视关机动画(3)
来源:未知 责任编辑:责任编辑 发表时间:2014-03-23 22:25 点击:次
* 唯一座标不变的就只有10,5 那点。但长方形仍然会放大两倍。
*
* 看上去没有什么不同,但如果用上Animation的话,
* 因为Animation对座标是有要求,所以效果也会有不同。
*
*
* interpolatedTime 表示的是当前动画的间隔时间 范围是0-1
*
* 那么横向来讲前80%的时间我们要横向拉伸到150%,
* 变化的速率为 0.5 / 0.8 = 0.625
* 所以横向缩放值为 1 + 0.625f * interpolatedTime
*
* 纵向在前80%的时间是直接减小,最后只留一条高度为0.01f的线。
* 变化的速率为 1 / 0.8 = 1.25
* 所以纵向缩放值为 1 - 1.25f * interpolatedTime + 0.01f
* 当然也可以写成 1 - interpolatedTime / 0.8f + 0.01f
*
* 后20%的时间里我们要横向从150%压缩至0%,
* 变化的速率为 1.5 / 0.2 = 7.5
* 所以横向缩放值为 7.5f * (1 - interpolatedTime)
*
* 纵向保持不变就好了,当横向为0的时候就全部消失了。
*/
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
final Matrix matrix = t.getMatrix();
if (interpolatedTime < 0.8) {
matrix.preScale(1 + 0.625f * interpolatedTime,
1 - 1.25f * interpolatedTime + 0.01f, centerX, centerY);
} else {
matrix.preScale(7.5f * (1 - interpolatedTime), 0.01f,
centerX, centerY);
}
}
}
main.xml
Xml代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>