Hola amigos Estoy creando una aplicación donde pongo dos vistas. primero es la vista de la imagen y la otra es mi vista general.Enfoque y panorámica de la vista en android
dibujo imágenes en mi vista personalizada. mi código de vista personalizada es como sigue
public class DrawView extends ImageView{
@SuppressWarnings("unused")
private static final String TAG = "DrawView";
Painter painter = new Painter();
PathStack pathStack;
private DrawApplication drawApplication;
public DrawView(Context context, AttributeSet attr) {
super(context,attr);
setFocusable(true);
setFocusableInTouchMode(true);
drawApplication=(DrawApplication)context.getApplicationContext();
pathStack=drawApplication.getPainter().getPathStack();
painter=drawApplication.getPainter();
setScaleType(ScaleType.MATRIX);
}
@Override
public void onDraw(Canvas canvas) {
float scaleFactor=drawApplication.getScaleFactor();
canvas.scale(scaleFactor, scaleFactor,(float)getWidth()/2,(float)getHeight()/2);
List<DrawingPath> currentStack=pathStack.getCurrentStack();
for (DrawingPath drawPath : currentStack) {
drawPath.draw(canvas, painter);
}
}
}
muchas cosas claras desde un código como el almacenamiento de ruta en drawapplication etc.
Ahora hemos decidido proporcionar zoom y panorámica a este punto de vista. y mi dibujo también debería ampliarse de forma correspondiente junto con la vista de imagen que está en la parte posterior.
también debería ser capaz de dibujar correctamente.
Intenté escalar el lienzo, pero eso es peor, porque después de escalar no puedo dibujar en el punto tocado y también dibujar menos en la pantalla, lo que da como resultado un mayor dibujo a la vista.
dibujar en el widget también es una tarea muy larga que reduce el rendimiento. por favor proporcionar cualquier forma.
y también estoy utilizando el API de nivel 10.
Edit1
amigos también. tengo una idea tengo que dibujar la ruta en diferentes niveles de zoom. entonces, si podemos calcular la relación de trayectoria en diferentes niveles de acercamiento, esto resolverá mi problema. PLZ proporcionar ayuda en consecuencia
Edit2
si seremos capaces de escalar camino entonces se puede resolver mi problema
Edit3
Creo que si nos basamos en mapa de bits que yo puede lograr mi objetivo, pero mi problema es cambiar el tamaño de mapa de bits y proporcionar desplazamiento a mapa de bits en diferentes niveles de zoom
Para la panorámica, puede usar el marco de View para desplazarse. Si también quieres un desplazamiento suave, he respondido que [aquí] (http://stackoverflow.com/questions/4951142/smooth-scrolling-in-android/4951681#4951681) (si no lo haces, puedes simplemente regresar) verdadero en 'onDown()' y omita el código 'mScroller' /' onFling() '). Para el zoom, lo siento, pero lo hice solo con 'ImageView'. – bigstones