web-dev-qa-db-fra.com

Comment obtenir une ombre sur Android disposition linéaire?

Duplicata possible:
comment définir l'ombre sur une vue dans Android?

Dans mon Android, j'ai besoin d'une mise en page avec des coins arrondis et l'arrière-plan devrait avoir une certaine transparence. Pour cela, j'utilise ce xml, cela fonctionne bien:

customshape.xml:

<shape Android:shape="rectangle"> 
    <gradient Android:startColor="#E2FFFFFF" Android:endColor="#E2D0E3E5" Android:angle="270"/> 
    <corners Android:radius="10dp" /> 
</shape>

style.xml:

<style name="LinearLayoutRoundCorners">
    <item name="Android:layout_width">fill_parent</item>
    <item name="Android:layout_height">wrap_content</item>
    <item name="Android:background">@drawable/customshape</item>
</style>

J'ai également besoin d'une petite ombre à droite et en bas de la mise en page. Je ne trouve pas de moyen de le faire. J'ai vu un hack où vous mettez une autre mise en page pour la faire ressembler à une ombre, mais cela ne fonctionnera pas pour moi car ma mise en page est transparente, donc cela ne sera pas très bon. Comment puis-je obtenir une ombre agréable sur ma mise en page sans utiliser d'image comme arrière-plan de la mise en page?

22
Martin

Autant que je sache, il n'y a aucun moyen d'appliquer une ombre à un objet View. Je vous suggère de jeter un œil à neuf patchs, je les ai utilisés pour faire une ombre.

http://developer.Android.com/guide/topics/graphics/2d-graphics.html#nine-patch

(voir aussi cette réponse ImageView personnalisée avec ombre portée )

8
Mats Hofman

Je sais que c'est bien tard, mais je lisais ce combo question/réponse et bien que d'une méthode alternative qui ne nécessite pas d'image. J'ai créé un article sur mon blog pour expliquer. Je pense qu'il serait utile aux futurs visiteurs d'avoir ces deux réponses à portée de main ici.

http://web.archive.org/web/20120520203231/http://www.anotherandroidblog.com/2011/06/29/drop-shadow-linearlayout/

64
javahead76