# Rand ändern beim ImageView bei Picasso



## wer112 (19. Jun 2021)

Da ich immer noch das Problem mit den Bilder aus dem Internet habe(In ein ImageView zu laden(Fragment)) habe ich heute ein sehr hilfreiches Youtube video gesehen.
Es geht darum, das man ein Bild aus dem Netz mit Hilfe von Picasso in ein ImageView zu laden.

Jetzt stoße ich weil ich Oicasso verwende auf ein großen Problem. Normaler Weiße habe ich mehrere If Abfragen, ob der Spieler den Gegenstand frei geschalten hat oder nicht. Wir gehen mal davon aus, die Bilder sind bereits in der app, dann sieht das ca. so aus beim gesperrten Gegenstand:

[CODE lang="java" title="Gesperrten Gegegenstand"]imageView.setImageAlpha(R.drawable.gegenstand.....);
imageView.setImageAlpha(R.drawable.gesperrt_style);[/CODE]

Mit dieser Methode konnte ich den zu erwerbenden Gegenstand alsBackground setzten und wenn er noch nicht freigeschalten ist, konnte ich ihn mit einem roten Rand umziehen....



Da ich das ja nicht normal hinbekomme, habe ich ja dafür Picasso benutzt. wo die Bilder alle angezeigt werden. Wie bekomme ich das hin, dass beim gesperrten Item ein roter Rand erscheint.

Wer sich mit Picasso auskennt und weiß, wie man beim gesperrten Item einen Style verpasst, würde ich mich sehr auf ihre Antwort freuen....


----------



## osion (19. Dez 2022)

Du kannst das Bild mit Picasso wie gewohnt laden und dann die setAlpha Methode auf dem ImageView aufrufen, um den Transparenzgrad des Bildes zu ändern. Du könntest zum Beispiel die setAlpha Methode aufrufen, um das Bild zu verdunkeln, wenn der Gegenstand noch nicht freigeschaltet ist.
Um einen roten Rand um das Bild zu erzeugen, könntest du stattdessen einen FrameLayout verwenden, um das Bild und einen roten Rahmen in einer Ebene anzuzeigen. Du könntest dann das Bild mit Picasso in einem ImageView innerhalb des FrameLayout laden und den FrameLayout entsprechend ein- oder ausblenden, je nachdem, ob der Gegenstand freigeschaltet ist oder nicht.
Eine andere Möglichkeit wäre, das Bild mit Picasso zu laden und dann eine Paint-Instanz zu verwenden, um einen roten Rahmen um das Bild zu zeichnen. Du könntest dann das resultierende Bild in einem ImageView anzeigen.


----------

