Ich bin neu in Android Dev, und ich habe seit ein paar Stunden versucht, schöne und glatte abgerundete Ecken zu einem ImageView hinzuzufügen, ohne Erfolg.
Das erste, was ich ausprobiert habe, ist, die Ecken meiner Bilder direkt zu runden, aber das bedeutet, dass ich die Bitmap ändern muss, und da ich die rohen behalten muss und diese ziemlich groß sind, ist das nicht wirklich speicherfreundlich. Dies würde auch andere Schwierigkeiten verursachen, da mein ImageView flüssig ist.
Zweitens habe ich versucht, die Methode clipPath zu verwenden, nachdem ich meine Ansicht unterklassifiziert habe. Das funktioniert, aber Ecken sind Alias. Ich habe dann versucht, einen PaintFlagsDrawFilter hinzuzufügen, um das Aliasing zu implementieren, aber das hat nicht funktioniert. Ich benutze monodroid, und ich fragte mich, ob das in Java funktionieren sollte.
Hier ist mein Code (C #):
%Vor%Danke für Ihre Hilfe!
Ich habe ein RoundedImageView basierend auf Romain Guys Beispielcode , der diese Logik in ein ImageView umschließt, das Sie einfach verwenden können. Es unterstützt Grenzen und Antialiasing aus der Box.
Es ist effizienter als andere Beispiele mit abgerundeten Ecken, weil es keine weitere Kopie der Bitmap erstellt, und verwendet auch nicht clipPath, das zweimal auf die Arbeitsfläche zeichnet.
Verwenden Sie den folgenden Code
%Vor%und rufe diese Methode wie
auf %Vor%Tags und Links android imageview rounded-corners antialiasing