2011-04-02 6 views
22

Possible en double:
how to set shadow to a View in android?Comment obtenir l'ombre sur la disposition linéaire android?

Dans mon application Android je besoin d'une mise en page avec des coins arrondis et l'arrière-plan devrait avoir une certaine transparence. Pour cela, je suis en utilisant ce xml, il fonctionne très 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> 

Je dois aussi une petite ombre à droite et en bas de la mise en page. Je ne peux pas trouver un moyen de le faire. J'ai vu un hack dans lequel vous avez placé 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 ça ne sera pas très joli. Comment puis-je obtenir une belle apparence sur ma mise en page sans utiliser d'image comme arrière-plan de la mise en page?

Répondre

8

Pour autant que je sais qu'il n'y a aucun moyen d'appliquer une ombre à un objet View. Je vous suggère de jeter un oeil à 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 Custom ImageView with drop shadow)

+0

Merci pour cette réponse, mais je pense que je sauter l'ombre alors s'il n'y a pas de bonne façon de le faire sans utiliser une image. Merci quand même! – Martin

+0

Cependant, il est dommage qu'il n'y ait pas une façon native d'appliquer des ombres aux vues Android. –

+0

utiliser CardView à partir de la bibliothèque AppCompat v21 –

64

Je sais que c'est bien en retard, mais je lisais cette question/combo de réponse et si d'une autre méthode qui ne nécessite pas une image. J'ai jeté un post sur mon blog en expliquant. Je pense qu'il serait utile pour les 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/

+1

C'est juste que j'ai besoin. Merci beaucoup! – Aracem

+0

Excellente solution! – Geltrude

+0

Utilisez un FrameLayout si vous avez besoin de l'ombre pour être au-dessus de quelque chose comme un ListView –

Questions connexes