#android #android-imageview #android-ui #android-custom-view #ondraw
#android-imageview #Android #android-пользовательский вид #ondraw
Вопрос:
Я следил за этим руководством http://android-developers.blogspot.com/2010/06/making-sense-of-multitouch.html чтобы создать и просмотреть изображение, которое может прокручиваться во всех направлениях. Проблема в том, что когда я переопределяю метод onDraw и пытаюсь вручную нарисовать чертеж прямо на холсте, чертеж смещен от центра.
@Override
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.save();
canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
getDrawable().draw(canvas);
canvas.restore();
}
если я закомментирую метод, изображение будет отображаться по центру посередине правильно.
переопределяет ли этот метод что-то с выравниванием?
Комментарии:
1. после canvas.save() вызовите canvas.concat с матрицей, взятой getImageMatrix()
2. это помогло, если вы опубликуете ответ, я могу пометить его как правильный.
Ответ №1:
После canvas.save()
вызова canvas.concat
с матрицей, взятой getImageMatrix()
P.S: Взято из комментария pskink, поскольку это, похоже, решило проблему Брайана, я представляю это как отдельный ответ, чтобы будущие читатели могли его увидеть.