Ich suchte herum und konnte keinen geeigneten Weg finden, dies zu tun. Ich möchte die folgenden Schatteneffekte auf meine Ansichten haben:
Um ehrlich zu sein, weiß ich nicht, ob dieser zweite durch Anwenden eines Schatteneffekts erfolgt. Irgendwelche Ideen?
android
shadow
dropshadow
Longwalker
quelle
quelle
Antworten:
Ich weiß , diese Frage wurde bereits beantwortet , aber ich möchte Sie wissen , dass ich ein fand
drawable
auf ,Android Studio
dass sehr ähnlich ist zu den Bildern Sie in Frage: ein Blick auf diese:Es sieht aus wie das:
Hoffe es wird hilfreich sein
Bearbeiten
Die obige Option gilt für ältere Versionen von,
Android Studio
sodass Sie sie möglicherweise nicht finden. Für neuere Versionen:Wenn Sie eine eigene Form haben möchten, empfehle ich außerdem, eine Zeichensoftware wie zu verwenden
Photoshop
und diese zu zeichnen.Vergessen Sie nicht , es zu speichern
.9.png
Datei (Beispiel:my_background.9.png
)Lesen Sie die Dokumentation: Zeichnen Sie 9-Patch
Bearbeiten 2
Eine noch bessere und weniger hart arbeitende Lösung besteht darin, a
CardView
und setapp:cardPreventCornerOverlap="false"
zu verwenden, um zu verhindern, dass Ansichten die Grenzen überschneiden:Stellen Sie außerdem sicher, dass Sie die neueste Version in der
build.gradle
aktuellen Version enthalten habenquelle
/<sdk-path>/extras/android/support
.cardView
Ich verwende Android Studio 0.8.6 und konnte nicht finden:
Also fand ich dies stattdessen:
und es sieht so aus:
quelle
Wenn Sie einen Hintergrund von setzen
@android:drawable/dialog_holo_light_frame
, erhalten Sie Schatten, aber Sie können weder die Hintergrundfarbe noch den Rahmenstil ändern. Daher ist es besser, vom Schatten zu profitieren, während Sie dennoch einen Hintergrund über eine Ebenenliste einfügen könnenSpeichern Sie es im Zeichenordner unter say
shadow.xml
Um es einer Ansicht zuzuweisen, legen Sie in der XML-Layoutdatei den Hintergrund fest
quelle
Erstellen Sie card_background.xml im Ordner res / drawable mit dem folgenden Code:
Fügen Sie dann dem Element, zu dem Sie das Kartenlayout möchten, den folgenden Code hinzu
Die folgende Zeile definiert die Farbe des Schattens für die Karte
quelle
CardView bietet Ihnen echten Schatten in Android 5+ und verfügt über eine Support-Bibliothek. Schließen Sie einfach Ihre Ansicht damit ein und Sie sind fertig.
Es erfordert die nächste Abhängigkeit.
quelle
CardView
im Kompatibilitätsmodus nur unterschiedliche Schattenstufen für unterschiedliche Höhen vorhanden sind.Verwenden Sie die Elevation-Eigenschaft, um einen Schatteneffekt zu erzielen:
Dies darf nur nach Version 21 verwendet werden. Überprüfen Sie diesen Link: http://developer.android.com/training/material/shadows-clipping.html
quelle
Dies mag spät sein, aber für diejenigen, die noch nach einer Antwort suchen, habe ich ein Projekt auf Git Hub gefunden und dies ist das einzige, das tatsächlich meinen Bedürfnissen entspricht. android-materialshadowninepatch
Fügen Sie diese Zeile einfach zu Ihrer build.gradle-Abhängigkeit hinzu
Prost. Daumen hoch für den Schöpfer! happycodings
quelle
Ich weiß, dass dies dumm ist,
aber wenn Sie unter v21 unterstützen möchten, sind hier meine Erfolge.
rechteck_mit_10dp_radius_weiß_bg_und_schatten.xml
rechteck_mit_10dp_radius_weiß_bg_und_schatten.xml (v21)
view_incoming.xml
Hier ist das Ergebnis:
Unter v21 (das hast du mit xml gemacht)
Über v21 (Real Elevation Rendering)
quelle
Wenn Sie die richtigen Schatten benötigen, um angewendet zu werden, müssen Sie Folgendes tun.
Betrachten Sie diese Ansicht, die mit einem zeichnbaren Hintergrund definiert ist:
Der zeichnbare Hintergrund wird als Rechteck mit abgerundeten Ecken definiert:
Dies ist die empfohlene Methode zum Anwenden von Schatten. Überprüfen Sie dies unter https://developer.android.com/training/material/shadows-clipping.html#Shadows
quelle
Verwenden Sie die Elevation-Eigenschaft für Schatteneffekte:
quelle
Erstellen Sie einen Hintergrund, der wie folgt gezeichnet werden kann, um abgerundete Schatten anzuzeigen.
quelle
Diese Frage mag alt sein, aber für alle, die in Zukunft auf einfache Weise komplexe Schatteneffekte erzielen möchten, besuchen Sie meine Bibliothek hier https://github.com/BluRe-CN/ComplexView
Mit der Bibliothek können Sie Schattenfarben ändern, Kanten optimieren und vieles mehr. Hier ist ein Beispiel, um das zu erreichen, wonach Sie suchen.
Verwenden Sie zum Ändern der Schattenfarbe die App: shadowColor = "Ihr Farbcode".
quelle
Verwenden Sie diese Form als Hintergrund:
quelle