Es gibt eine nice post des beliebten Google-Entwicklers Romain Guy, die zeigt, wie Sie eine gerundete Ecken in einer Ansicht effizient zeichnen ("StreamDrawable" in his code).Verwenden einer abgerundeten Ecken Zeichen
Die Probe selbst funktioniert sehr gut auf meinem Galaxy S3, wenn im Portrait-Modus, aber ich habe ein paar Probleme mit ihm:
wenn der Bildschirm klein ist (zum Beispiel auf QVGA-Bildschirmen), die gezeigt Bilder werden beschnitten.
Wenn ein Eingabebitmap zu klein ist, als ich es anzeigen möchte, sind die Kanten des Ausgabebilds verschmiert. Auch auf dem Galaxy S3, wenn Sie den Beispielcode ausführen und es ist auf die Landschaft, es sieht schrecklich:
ich es immer noch nicht sicher bin (da ich eine Abhilfe der Skalierung des Bildes verwenden für Verwenden Sie den Beispielcode, aber es ist der Meinung, dass selbst diese Lösung bei Verwendung in einer ListView ein wenig langsam ist. Vielleicht gibt es dafür eine pigscript-Lösung?
Es spielt keine Rolle, ob ich setImageDrawable oder setBackgroundDrawable verwende. Es muss etwas im Drawable selbst sein.
Ich habe versucht, mit den Variablen und dem BitmapShader zu spielen, aber nichts hat funktioniert. Leider TileMode hat keinen Wert für nur das Bild zu dehnen, nur Tiling es in irgendeiner Weise.
Als Workaround kann ich eine neue skalierte Bitmap erstellen, aber es ist nur eine Ausweichlösung. Sicherlich gibt es einen besseren Weg, der auch nicht mehr Speicher verbraucht als er sollte.
Wie behebe ich diese Probleme und verwende diesen tollen Code?
sollten Sie einen Kommentar zu diesem Artikel schreiben oder ihn anpingen, hier zu antworten. –
Ich denke, er hat :) – DaRolla
hast du das Problem gelöst? – tasomaniac