Zoomen und verschieben der Ansicht in android

Hallo Freunde
Ich bin der Erstellung einer app, wo ich zwei Ansichten. zunächst ist Bildansicht und der andere ist mein customeview.

ich bin Zeichnung Bild auf meine benutzerdefinierte Ansicht. meine benutzerdefinierte anzeigen-code ist wie folgt

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);

        }

    }
}

viele Dinge klar aus dem code, wie die Speicherung von Pfad auf drawapplication etc.

nun haben wir uns entschieden, Zoomen und schwenken, um diese Ansicht. und meine Zeichnung sollte auch gezoomt werden entsprechend zusammen mit Bildansicht, die in zurück.

auch ich sollte in der Lage sein zu ziehen, richtig.

Habe ich versucht canvas skalieren, aber das ist das Schlimmste, denn nach der Skalierung bin ich nicht in der Lage zu zeichnen, um den berührten Punkt und auch weniger Zeichnung auf dem Bildschirm, die in mehr Zeichnung zur Ansicht.

Zeichnung auf widget ist auch sehr langwierige Aufgabe, die Ergebnisse in der Leistung langsam runter.
plz liefern keiner Weise.

und auch ich bin mit api-level 10.

Edit1

Gut Freunde. ich habe eine Idee.
ich habe zu ziehen Pfad auf verschiedenen zoom-level. wenn wir also berechnen, Pfad-Anteil in verschiedenen zoom-Stufe, als es mein problem lösen wird. plz Hilfe entsprechend

Edit2

wenn wir in der Lage sein Maßstab Weg, dann ist es mein problem lösen können

Edit3

ich denke, wenn wir es zeichnen auf bitmap als ich kann mein Ziel erreichen, aber mein problem ist das ändern der Größe von bitmap-und Bereitstellung scrollen, um bitmap, die auf verschiedenen zoom-level

  • Zum schwenken können Sie die Anzeigen verwenden, die Rahmenbedingungen für den Bildlauf. Wenn Sie wollen auch smooth-scrolling-ich habe geantwortet, dass here (wenn Sie nicht, Sie kann nur true zurückgeben, in onDown() ein und lassen das mScroller/onFling() code). Für den zoom, tut mir Leid aber ich hab dass nur mit ImageView.
InformationsquelleAutor Sunil Pandey | 2011-04-07
Schreibe einen Kommentar