Мое приложение содержит 9 растровых изображений в сетке 3х3.Все они отображаются на экране, и в зависимости от того, как пользователь взаимодействует с ними (касание, двойное касание, масштабирование, перетаскивание), изображение, на которое «воздействуют», должно выполнять различные задачи.
Так, например, если я коснусь одного изображения, оно должно полностью повернуться вокруг вертикального доступа, а затем остановиться.
В настоящее время я использую SurfaceView с методом onTouchEvent (..).Я подумал, что могу оживить это, масштабируя ширину изображения с 1 до -1 обратно до 1. Я пытался использовать матрицу, но не могу заставить изображение оставаться в центре на своем месте.Пожалуйста, помогите мне исправить это или предложите альтернативный / лучший способ сделать это.
Мой текущий код - просто тест.Если b истинно, то метод попытается масштабировать растровое изображение.Если b равно false, растровое изображение будет отображаться нормально .:
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);
}