Sie benötigen zwei Schichten: An ImageViewund ein View obendrein mit deinem Farbverlauf als android:background. Setzen Sie diese beiden Views in a FrameLayout:
Vergessen Sie nicht, Ihren Farben einen Alpha-Wert hinzuzufügen. Versuchen Sie, mit zu beginnen android:endColor="#00000000" android:startColor="ff000000"und spielen Sie damit herum, um es Ihren Bedürfnissen anzupassen.
– nhaarman
2. Juni 2014 um 9:59 Uhr
Zu viel Arbeit für die Benutzeroberfläche. Ich persönlich bevorzuge die Lösung mit dem Single ImageView. Ich habe die Berechnungen nicht durchgeführt, scheint aber in der Leistung effektiver zu sein
– Vaios
3. März 2019 um 22:01 Uhr
Kaustuv
Setzen Sie einfach den Alpha-Wert in Ihrer garient.xml:
Dies hat für meine Zwecke funktioniert, aber wenn Sie nur möchten, dass der Farbverlauf bis zu einer bestimmten Höhe ansteigt, ist es sinnvoller, einen Blick über die ImageView zu werfen.
– sotr
10. April 2017 um 18:21 Uhr
Hinweis: Attribut android:foreground hat keine Auswirkungen auf API-Ebenen unter 23 (aktuelles Minimum ist 16). Das zeigt mir die IDE.
– Wadim Kotow
25. Dezember 2018 um 10:30 Uhr
So werde ich es machen, ich habe relatives Layout als übergeordnetes Layout verwendet, verwende den folgenden Code
Hinweis: Das Attribut android:foreground hat keine Auswirkung auf API-Ebenen unter 23 (aktuelles Minimum ist 16). Das zeigt mir die IDE.
– Wadim Kotow
25. Dezember 2018 um 10:31 Uhr
Wie Sie in meiner Antwort sehen werden, verwende ich android:background nicht android:foreground. Für Ihre Frage zur Warnung auf API-Ebene beziehen Sie sich bitte auf eine andere SO-Frage.
– Glatter Schleim
26. Dezember 2018 um 9:21 Uhr
Aber du hast geschrieben: Use android:foreground="..." instead of android:background="..." aus irgendeinem Grund.
– Wadim Kotow
26. Dezember 2018 um 9:24 Uhr
Ups, das ist mein Fehler. In diesem Fall ändern Sie entweder Ihre minSdkVersion bis über 22 oder folgen Sie anderen Fragen, die erforderlich sind FrameLayout
– Glatter Schleim
26. Dezember 2018 um 9:41 Uhr
Dies ist ein einfacher Weg, der einen ähnlichen Effekt erzeugt, aber das Bild nicht wirklich verschwinden lässt. Manchmal ist die Verwendung des Vordergrundattributs nicht das Beste für den Farbverlauf, besonders wenn Sie ein Bewegungslayout verwenden oder verschachtelte Bildlaufansichten haben. Erstellen Sie eine völlig neue Bildansicht und stellen Sie den Hintergrund auf den Farbverlauf ein.
Dann verwende ich für den Farbverlauf schwarz #000000 für dunklere Themen und weiß #ffffff für hellere. Viele Antworten, die ich darauf sehe, fügen die Mittelfarbe nicht hinzu. Dies ist wichtig, wenn der Farbverlauf näher am Bildrand beginnen soll.