2017-08-16 3 views
0

Je veux quelque chose comme ceci: I want something like this:Comment faire une ombre portée sur une forme personnalisée

J'ai la forme

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android" > 
<item > 
    <shape android:shape="rectangle" > 
     <solid android:color="@color/white"/> 
     <corners android:radius="15dip" /> 
     <stroke android:width="1dip" android:color="@color/shadow" /> 
    </shape> 
</item> 
</selector> 

Mais mon problème est l'ombre, est-il un moyen que je peux faire ce?

+0

Cela peut facilement se faire en ajoutant simplement 'Android : elevation' sur votre bouton si vous voulez définir votre minSdkVersion à 21. – Saket

+0

voir ce https://stackoverflow.com/questions/24179336/android-layout-with-rounded-dr –

+0

Je crois que ce bouton a été fait en utilisant neuf patch pour les dispositifs pré-sucette –

Répondre

1

Utilisez Vignettes pour créer l'ombre vue dans Android

<android.support.v7.widget.CardView 
    xmlns:card_view="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/card_view" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    app:cardBackgroundColor="@android:color/white" 
    android:foreground="?android:attr/selectableItemBackground" 
    card_view:cardElevation="3dp" 
    card_view:cardCornerRadius="4dp"> 
  1. card_view:cardElevation="3dp" c'est pour l'ombre
  2. card_view:cardCornerRadius="4dp" c'est pour rayon d'angle
+0

D'après ce que je sais que CardView est utilisé à partir de l'API 24 et il n'y a pas beaucoup d'utilisateurs Android 7, y at-il d'autres façons de le faire? –

+0

vous pouvez utiliser la bibliothèque de support v7 pour la compatibilité ci-dessous. –