在我的应用我有借助3D转换android.graphics.Camera
。 似乎直到我试图的Nexus做工精细。
我安装在Nexus 7(4.2.1)和Galaxy Nexus的(4.1.2)的应用程序,他们都完全不进行相机转型。 我有带摄像头的两个不同的意见,并都表现出非标准动画和不适相机转换。
谁可以解释这样的行为?
UPD:相机码
transformation.clear();
transformation.setTransformationType(Transformation.TYPE_MATRIX);
mCamera.save();
final Matrix matrix = transformation.getMatrix();
mCamera.translate(x,y,z);
mCamera.getMatrix(matrix);
matrix.preTranslate(-centerX, -centerY);
matrix.postTranslate(centerX, centerY);
mCamera.restore();
UPD2:银河S3(4.2),而与S2相同的(4.0.4)
只需添加到getChildStaticTransformation结束
if (android.os.Build.VERSION.SDK_INT >= 16 /*JellyBean*/) child.invalidate();
米哈伊尔提供的解决方案,在结束对我的作品getChildStaticTransformation
。
唯一的问题是getChildStaticTransformation
方法将总是被调用。
我的解决办法是把代码刚刚更新后的x,y,z值每一个项目。
// items is a ArrayList of ControlItem for example
// x,y,z are custom property of ControlItem class
items.get(0).x = 250;
items.get(0).y = 100;
items.get(0).z = 0;
for ( ControlItem item : items )
{
// Item must be invalidate with JellyBean and superior
if ( android.os.Build.VERSION.SDK_INT >= 16 ) item.invalidate();
}
// getChildStaticTransformation() will be called after, transformation will be applied