我来自iOS背景,其中有一个名为transform
的属性,它实际上只是一个4x4矩阵,用于应用于CALayer
的3D转换(同时UIView
)。
我遇到了Transformation类,它看起来有点不同,但我希望我可以将它用于View
子类的某些转换。
我已经看到了构造函数new Transformation()
和不同的set
方法,但我看不到任何可以让我为Transformation
实际设置3x3矩阵或者它如何设置用于View
。
我猜这不是一个非常重要的类,因为文档本身似乎有错误。
我希望SO上的某个人能够帮助我弄清楚如何利用这个类来完成我的View
子类(如何构造和应用Transformation
)或点的转换我为了满足自己的需求而提供更好的工具/课程。
答案 0 :(得分:2)
您通常在Android中的Animation对象中应用转换。即创建一个新的Animation类,为您的视图设置转换:
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
}
}
然后在视图上设置动画:
Animation anim = new myAnimation();
anim.setDuration(100);
view.startAnimation(anim);
在Postcomb Honeycomb Android上,你应该能够通过操纵视图上的矩阵来做类似的事情:
Matrix m = view.getMatrix();
// do whatever you want here