我的应用程序在3x3网格上有9个位图图像。所有这些都显示在屏幕上,取决于用户与它们的交互方式(点击,双击,捏,缩放,拖动)“执行操作”的图像需要执行不同的任务。Android缩放位图图像
因此,例如,如果我点击一个图像,它需要完全旋转垂直访问,然后停止。
目前我正在使用SurfaceView和onTouchEvent(..)方法。我想通过这种方式我可以对此进行动画处理,方法是将图像的宽度从1缩放到-1回到1.我一直在尝试使用矩阵,但无法让图像保持居中。请帮我解决这个问题,或者建议一个替代/更好的方法来完成这个。
我现在的代码只是一个测试。如果b为真,则该方法将尝试缩放位图。如果b是假的,然后它会得出正常位图:
public void doDraw(Canvas canvas, boolean b)
{
Matrix m = new Matrix();
float scale = .5f;
m.setScale(scale, 1f);
m.postTranslate(mX,mY);
if(!b)
canvas.drawBitmap(mBitmap, mX, mY, null);
else
canvas.drawBitmap(mBitmap, m, null);
}
我假设你的意思是这样的: 'float scale = -1f; \t m.preTranslate(-mX,-mY); \t m.setScale(scale,1f); \t m.postTranslate(mX,mY);' 但这并不奏效。我也尝试过订购量表,预翻译,翻译后。没有任何内容 – Sababado
它使图像与左边缘对齐。我需要它被集中。 – Sababado
发布更新了看一看 – weakwire