toques tactil quitar pantalla moto desactivar como celular android gridview zoom

tactil - zoom en pantalla android



Android 2.1: Cómo acercar/alejar y desplazarse en un GridView (1)

Mi solución fue crear una rutina de recálculo de diseño, cambiando el número de columnas y sus tamaños

Puede haber una mejor manera, pero sin respuestas, este es un truco rápido y sucio que funcionó

public void gvlpRecalc() { m_gv.setNumColumns(m_Columns); if ((btnWidth = (int) (m_gv.getWidth() / m_Columns + .5)) == 0) { Display display = ((Activity) m_Context).getWindowManager().getDefaultDisplay(); btnWidth = (int) (display.getWidth() / m_Columns + .5); switch (m_Columns) { case 8: btnHeight = (int) (btnWidth * .9); break; case 10: btnHeight = (int) (btnWidth * 1.2); break; default: btnHeight = btnWidth; } } else switch (m_Columns) { case 8: btnHeight = (int) (btnWidth * .9); break; case 10: btnHeight = (int) (btnWidth * 1.2); break; case 11: btnHeight = btnWidth; break; default: btnHeight = (int) (m_gv.getHeight() / 2.2); } gvlp = new GridView.LayoutParams(btnWidth, btnHeight); }

ANTECEDENTES: Mi aplicación de trabajo contiene un GridView con 5 filas de 11 columnas con un adaptador anulado para su visualización. Funciona muy bien para mis necesidades con una tableta de pantalla grande.

Después de migrar a un teléfono inteligente a pequeña escala, me doy cuenta de que la red no se puede usar debido a su pequeño tamaño. En lugar de implementar la orientación horizontal, he decidido usar una función de zoom.

PREGUNTA: ¿Cuál es la mejor manera de implementar las siguientes 2 funciones básicas: Zoom (permitir el zoom entre 100 y 400%) y Desplazar (arriba / abajo / derecha / izquierda)