Android 4.3 Bildansicht ScaleType.MATRIX

heute Stelle ich das neue Android JB 4.3 auf meinem Nexus 7 und ich versuchte meine Anwendung.

Alles so funktioniert wie es sollte außer eine kleine Sache über ImageViews mit ScaleType.MATRIX.

Im Grunde, was ich in meiner Anwendung ist eine Bildansicht als hintergrund und dementsprechend eine ViewPager Rückrufe bewege ich mich der fokussierte Teil des Bildes Aktualisierung der Matrix ich gab die Bildansicht mit setImageMatix( Matrix, matrix ).

das problem scheint zu sein, dass kann ich nicht aktualisieren Sie die matrix mehr, ich habe nur zu instanziieren, eine neue eine eine an den Bildansicht.

habe ich es geschafft, das zu umgehen, instanziieren jedes mal wenn ein neuer Matrix aber es scheint schrecklich Speicher teuer im Vergleich zu der alten version.

ist das ein BUG?
gibt es eine Möglichkeit, Aktualisierungs-die Matrix? ( ich habe übrigens bereits versucht, invalidate() Bildansicht ecc. )

NICHT ARBEITEN

    private void updateMatrix( final int page, final double offset ) {          
        double pagePosition = page + offset;

        Matrix matrix = imageView.getImageMatrix();
        matrix.setScale( scale, scale );
        matrix.postTranslate( - (float) ( pagePosition * pageWidth ) , 0 );

        imageView.setImageMatrix( matrix );

        imageView.invalidate();
    }

ARBEITEN

    private void updateMatrix( final int page, final double offset ) {          
        double pagePosition = page + offset;

        Matrix matrix = new Matrix();
        matrix.setScale( scale, scale );
        matrix.postTranslate( - (float) ( pagePosition * pageWidth ) , 0 );

        imageView.setImageMatrix( matrix );

        imageView.invalidate();
    }

EDIT:

im ersten Fall ist das Bild erscheint in der linken oberen Ecke der Bildansicht ohne skalieren oder übersetzen angewendet, wie wenn die matrix zurück, um Identität.

  • Was passiert im ersten Fall? Was sind die Symptome?
  • im ersten Fall ist das Bild erscheint in der linken oberen Ecke der Bildansicht ohne skalieren oder übersetzen angewendet. Als wenn die matrix zurückgesetzt wurde.
InformationsquelleAutor Mario Lenci | 2013-07-26
Schreibe einen Kommentar