J'ai cherché autour de moi et je n'ai pas trouvé de moyen approprié de le faire. Je souhaite avoir les effets d'ombre suivants sur mes vues:
Pour être honnête, je ne sais pas si ce second se fait en appliquant un effet d'ombre. Des idées?
android
shadow
dropshadow
marcheur long
la source
la source
Réponses:
Je sais que cette question a déjà reçu une réponse, mais je veux que vous sachiez que j'ai trouvé un
drawable
surAndroid Studio
qui est très similaire aux photos que vous avez dans la question: Jetez un œil à ceci:Cela ressemble à ceci:
J'espère que ce sera utile
Éditer
L'option ci-dessus concerne les anciennes versions de
Android Studio
, vous ne pourrez donc pas la trouver. Pour les versions plus récentes:De plus, si vous souhaitez avoir votre propre forme personnalisée, je vous suggère d'utiliser un logiciel de dessin comme
Photoshop
et de le dessiner.Ne pas oublier de l'enregistrer comme
.9.png
fichier (exemple:my_background.9.png
)Lire la documentation: Draw 9-patch
Modifier 2
Une solution encore meilleure et moins efficace consiste à utiliser un
CardView
ensemble etapp:cardPreventCornerOverlap="false"
pour empêcher les vues de chevaucher les bordures:Assurez-vous également d'avoir inclus la dernière version dans le
build.gradle
,la source
/<sdk-path>/extras/android/support
.cardView
J'utilise Android Studio 0.8.6 et je n'ai pas trouvé:
donc j'ai trouvé ceci à la place:
et cela ressemble à ceci:
la source
mettre un arrière-plan de
@android:drawable/dialog_holo_light_frame
, donne une ombre mais vous ne pouvez pas changer la couleur d'arrière-plan ni le style de la bordure, il est donc préférable de profiter de l'ombre de celui-ci, tout en étant capable de mettre un arrière-plan via la liste des calquesenregistrez-le dans le dossier dessinable sous dire
shadow.xml
pour l'assigner à une vue, dans le fichier de mise en page xml définissez l'arrière-plan de celui-ci
la source
Créez card_background.xml dans le dossier res / drawable avec le code suivant:
Ajoutez ensuite le code suivant à l'élément auquel vous voulez la mise en page de la carte
la ligne suivante définit la couleur de l'ombre de la carte
la source
CardView vous donne une véritable ombre dans Android 5+ et dispose d'une bibliothèque de support. Enveloppez simplement votre vue et vous avez terminé.
Il nécessite la prochaine dépendance.
la source
CardView
a que des niveaux d'ombre variables pour différentes élévations en mode compat.Utilisez la propriété d'élévation pour obtenir un effet d'ombre:
Ceci ne doit être utilisé qu'après la v21, consultez ce lien: http://developer.android.com/training/material/shadows-clipping.html
la source
C'est peut-être tard mais pour ceux qui recherchent encore une réponse, j'ai trouvé un projet sur git hub et c'est le seul qui correspond réellement à mes besoins. android-materialhadowninepatch
Ajoutez simplement cette ligne à votre dépendance build.gradle
à votre santé. bravo pour le créateur! happycodings
la source
Je sais que c'est stupidement hacky,
mais si vous voulez supporter sous v21, voici mes réalisations.
rectangle_with_10dp_radius_white_bg_and_shadow.xml
rectangle_with_10dp_radius_white_bg_and_shadow.xml (v21)
view_incoming.xml
Voici le résultat:
Sous v21 (c'est ce que vous avez fait avec xml)
Au-dessus de la v21 (rendu d'élévation réel)
la source
Si vous avez besoin que les ombres soient correctement appliquées, vous devez procéder comme suit.
Considérez cette vue, définie avec un arrière-plan dessinable:
L'arrière-plan dessinable est défini comme un rectangle aux coins arrondis:
C'est la façon recommandée d'apposer des ombres, vérifiez ceci https://developer.android.com/training/material/shadows-clipping.html#Shadows
la source
Utilisez la propriété d'élévation pour l'effet d'ombre:
la source
Créez un arrière-plan dessinable comme celui-ci pour afficher une ombre arrondie.
la source
Cette question est peut-être ancienne, mais pour quiconque souhaite à l'avenir un moyen simple d'obtenir des effets d'ombre complexes, consultez ma bibliothèque ici https://github.com/BluRe-CN/ComplexView
En utilisant la bibliothèque, vous pouvez modifier les couleurs des ombres, ajuster les bords et bien plus encore. Voici un exemple pour réaliser ce que vous recherchez.
Pour changer la couleur de l'ombre, utilisez app: shadowColor = "votre code couleur".
la source
utilisez cette forme comme arrière-plan:
la source