Плавное увеличение изображения при двойном нажатии - PullRequest
2 голосов
/ 13 июня 2011

У меня есть ImageView, который я хочу плавно увеличить при двойном нажатии.

В настоящее время у меня есть зум, работающий так:

        public boolean onDoubleTap(MotionEvent e) {
        ImageView imageView = (ImageView) findViewById(imageViewId);
         int width = imageView.getWidth();
         int height = imageView.getWidth();
         float maxScale;
         if ( width < height ) {
         maxScale = (float) (width * Math.pow(1.5, 6));
         } else {
         maxScale = (float) (height * Math.pow(1.5, 6));
         }

         Drawable d = imageView.getDrawable();
         int imageWidth = d.getIntrinsicWidth();
         int imageHeight = d.getIntrinsicHeight();
         float[] value = new float[9];
         matrix.getValues(value);
         scaleWidth = (int)(imageWidth * value[Matrix.MSCALE_X]);
         scaleHeight = (int)(imageHeight * value[Matrix.MSCALE_Y]);

         if ( (scaleWidth * 2) < maxScale ) {
         matrix.postScale(2, 2, e.getRawX(), e.getRawY());
         } else {
         matrix.postScale(0, 0, e.getRawX(), e.getRawY());
         }
         isDoubleTab = true;
         tuneMatrix(matrix);
         savedMatrix.set(matrix);
        return false;
    }

Это не совсем плавноЯ много гуглил, но не смог найти работающего решения для DoubleTap.Есть идеи?

1 Ответ

5 голосов
/ 13 июня 2011

Вот хорошая ссылка для imageZoom при двойном нажатии ... http://blog.sephiroth.it/2011/04/04/imageview-zoom-and-scroll/

...