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)