Pregunta Android ViewPager con ImageView zoomable


Tengo un ViewPager creado por ImageViews implementado así:

@Override
    public Object instantiateItem(View collection, int position) {
        ImageView iv = new ImageView(ctx);
        if (pageList.size() > position)
            iv.setImageBitmap(pageList.get(position));
        else
            iv.setImageResource(R.drawable.loading);

        iv.setOnTouchListener(this);
        ((ViewPager) collection).addView(iv, 0);
        System.out.println("POS: " + position);
        return iv;
    }

¿Hay alguna posibilidad de que tenga ese zoom de ImageView tocando dos veces (y deslizando la imagen) o pellizcando zoomable?


8
2017-12-16 10:04


origen


Respuestas:


Es posible, así es como lo hice.

Mi elemento de diseño de nivel superior es FrameLayout que permite apilar varias vistas una encima de la otra. los FrameLayout tiene dos hijos: el ViewPager y un ImageView que usaré para mostrar la imagen ampliada.

El ImageView normalmente está oculto. Escucho eventos táctiles en imágenes dentro del ViewPager y basado en esos, muestre y oculte y desplace el ImageView. Funciona bastante bien. Puedo dar más detalles si es necesario.


6
2018-01-16 00:21



Usé la clase TouchImageView de Mike Ortiz. No es perfecto ¡Pero es genial porque puedes soltarlo fácilmente! La animación de zoom de doble toque puede ser divertida. El zoom de pellizco se puede activar mediante doble toque, lo cual es extraño.

Funciona muy bien si lo dejas directamente en un ViewPager (a través de una clase de adaptador). Cuando se acerca, puede moverse libremente hacia la izquierda y hacia la derecha sin activar un cambio de página a no ser que estás justo al límite, ¡lo cual es genial!

https://github.com/MikeOrtiz/TouchImageView/blob/master/src/com/ortiz/touch/TouchImageView.java


2
2018-06-09 08:48



usa esta biblioteca en github: https://github.com/matabii/scale-imageview-android.


0
2018-06-09 08:56