android api level 14后也是默认开启硬件加速
开启硬件加速情况下,使用getChildStaticTransformation会失效
解决办法:
加上以下方法
@Override
protected boolean drawChild(Canvas canvas, View child, long drawingTime) {
// TODO Auto-generated method stub
if (android.os.Build.VERSION.SDK_INT > 15) {
if (child.getAnimation() == null) {
TransformationAnimation ta = new TransformationAnimation(child);
child.setAnimation(ta);
}
}
return super.drawChild(canvas, child, drawingTime);
}
final class TransformationAnimation extends Animation {
View v;
TransformationAnimation(View _v) {
v = _v;
}
@Override
protected void applyTransformation(float interpolatedTime,
Transformation t) {
// TODO Auto-generated method stub
super.applyTransformation(interpolatedTime, t);
getChildStaticTransformation(v, t);
}
}