对Android View的矩阵和动画有一些疑惑:
背景
(1)Matrix1:动画变换中的矩阵可以应用于视图以实现动画:
public class myAnimation extends Animation {
public myAnimation() { }
@Override
boolean willChangeTransformationMatrix() { return true; }
@Override
void applyTransformation(float interpolatedTime, Transformation t) {
Matrix m = t.getMatrix();
// do whatever you want to the matrix here, using the interpolatedTime
}
}
(2)Matrix2:在Honeycomb Android之后,你应该能够通过操纵视图上的矩阵来做类似的事情:
Matrix m = view.getMatrix();
// do whatever you want here
当然,您也可以在" View.getMatrix"中更改矩阵。通过view.setScale或view.setRotation。
问题:
(1)这两个矩阵是一样的吗?如果动画应用于视图并且setFillAfter设置为true,动画矩阵是否会更改View.getMatrix的结果?
(2)据我所知,所有动画都不会真正改变视图布局,只会改变它的显示方式。(你可以使用一个按钮和setOnClickListener,无论你使用哪种动画,都可以看到它,点击仅适用于其原始位置和大小)。那么," view.setScale"," view.setTranslation"和" view.setRotation"以同样的方式工作?
(3)在API参考中,它描述了View.getMatrix:"该视图的变换矩阵,它是根据当前的旋转,比例和透视属性计算的。"为什么"翻译属性"不包括在这个矩阵中?
顺便说一下,我真正想做的是计算父母的职位。以后代的坐标给出时的坐标。
不要回答你回复中的所有问题。任何与该主题相关的意见表示赞赏!非常感谢你!