Масштабирование и панорамирование TextureView

Я пробовал много примеров того, как масштабировать и панорамировать представления. Все они работают с разными представлениями, imageViews. Однако я не смог найти решения для панорамирования увеличенного TextureView. Есть ли кто-нибудь, кто реализовал эту функцию?


person Shuhrat Akramov    schedule 05.12.2015    source источник
comment
TextureView # setTransform (преобразование матрицы)   -  person pskink    schedule 05.12.2015
comment
@pskink Это только для масштабирования, а не для панорамирования.   -  person Shuhrat Akramov    schedule 05.12.2015
comment
нет, это для всего, что поддерживает Матрица   -  person pskink    schedule 05.12.2015
comment
да. Это действительно так работает. Спасибо   -  person Shuhrat Akramov    schedule 05.12.2015


Ответы (1)


В простых представлениях, таких как ImageView, во многих реализациях используется холст. Вместо холста в представлениях, чей метод onDraw() является окончательным, используйте Matrix. Пример:

В ImageView:

 canvas.translate(x, y);
 canvas.scale(mScaleFactor, mScaleFactor);

В TextureView:

 matrix.postTranslate(x, y);
 matrix.postScale(mScaleFactor, mScaleFactor);

Пример в github: ссылка

person Shuhrat Akramov    schedule 05.12.2015