Ingrandisci lo zoom per la visualizzazione personalizzata

Ho creato la mia visualizzazione personalizzata e desidero applicare lo zoom pizzico per la mia visualizzazione personalizzata. Come farlo?

  • Quale taglia dovrebbe essere xhdpi lanciare icone?
  • La dimensione del pdf è mostrata 0 quando è collegato a gmail
  • Come aprire PDF in Android
  • Estrarre i numbers da una string numbersca alfa usando android
  • Loop video senza soluzione di continuità con VideoView
  • Animazione tipo GIF per indicatore nella mappa google ANDROID api
  • Scorrere un TextView su una row specifica
  • Posso utilizzare la stessa Firebase per due diverse applicazioni?
  • Come posizionare "&" in file di stringhe xml in studio android
  • Il client deve disporre dell'authorization ACCESS_FINE_LOCATION per richiedere località PRIORITY_HIGH_ACCURACY in android 6
  • Come utilizzare RecyclerView.scrollToPosition () per spostare la posizione in cima alla vista corrente?
  • Filtro Kalman - bussola e giroscopio
  • 3 Solutions collect form web for “Ingrandisci lo zoom per la visualizzazione personalizzata”

    Questo articolo sul blog Android Developers copre molto bene questo argomento (scorri fino alla sezione GestureDetectors ):

    Rendere il senso di Multitouch

    Se vuoi solo implementare il pizzico-zoom, c'è solo poche righe di codice che ti serve:

    private ScaleGestureDetector mScaleDetector; private float mScaleFactor = 1.f; public MyCustomView(Context mContext){ //... //Your view code //... mScaleDetector = new ScaleGestureDetector(context, new ScaleListener()); } @Override public boolean onTouchEvent(MotionEvent ev) { // Let the ScaleGestureDetector inspect all events. mScaleDetector.onTouchEvent(ev); return true; } @Override public void onDraw(Canvas canvas) { super.onDraw(canvas); canvas.save(); canvas.scale(mScaleFactor, mScaleFactor); //... //Your onDraw() code //... canvas.restore(); } private class ScaleListener extends ScaleGestureDetector.SimpleOnScaleGestureListener { @Override public boolean onScale(ScaleGestureDetector detector) { mScaleFactor *= detector.getScaleFactor(); // Don't let the object get too small or too large. mScaleFactor = Math.max(0.1f, Math.min(mScaleFactor, 5.0f)); invalidate(); return true; } } 

    Il resto dell'articolo riguarda la gestione di altri gesti, ma piuttosto che utilizzare la loro implementazione, è ansible utilizzare GestureDetector proprio come ScaleGestureDetector è utilizzato nel codice precedente.

    Metti la tua vista all'interno di ZoomView .

    Vista personalizzata disponibile qui https://github.com/Polidea/android-zoom-view è facile, gratuito e divertente!

    Usa questo :

    Implementazione di ImageView per Android che support lo zoom, con diversi gesti di touch.

    https://github.com/chrisbanes/PhotoView

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.