Comment créer un flottant sur le bouton d'action (FAB) en android, en utilisant AppCompat v21?

Je voudrais créer un flottant sur le bouton d'action (pour ajouter des éléments à une liste), tels que google agenda, le maintien de la compatibilité avec les pré-versions d'Android lollipop (avant 5.0).

J'ai créé cette page:

Activité main_activity.xml:

<LinearLayout ... >

     <include
         layout="@layout/toolbar"/>

     <RelativeLayout ... >

     <!-- My rest of the layout -->

          <!-- Floating action button -->
          <ImageButton style="@style/AppTheme"
                     android:layout_width="60dp"
                     android:layout_height="60dp"
                     android:text="New Button"
                     android:id="@+id/button"
                     android:src="@drawable/ic_fab"
                     android:background="@drawable/fab"
                     android:layout_alignParentBottom="true"
                     android:layout_alignParentRight="true"
                     android:layout_marginBottom="24dp"
                     android:layout_marginRight="24dp"/>

     </RelativeLayout>

 </LinearLayout>

Drawable fab.xml:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="oval">
    <solid android:color="#ffa48bc0"/>
</shape>

Style styles.xml

<resources>
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorPrimary">#ff1d79b1</item>
        <item name="colorPrimaryDark">#ff084d95</item>
    </style>
</resources>

Le résultat est similaire, mais il n'y a pas l'ombre, une caractéristique de la conception de matériel:

Calendrier variable du bouton d'action:

Comment créer un flottant sur le bouton d'action (FAB) en android, en utilisant AppCompat v21?

Mon application flottant sur le bouton d'action:

Comment créer un flottant sur le bouton d'action (FAB) en android, en utilisant AppCompat v21?

Comment puis-je ajouter les ombres à mon bouton?

J'ai déjà utilisé l'attribut d'élévation, mais ne fonctionne pas

  • L'élévation de l'API est en Sucette uniquement, avez-vous essayer sur une Sucette appareil?
  • C'est probablement le moment où vous acceptez l'une des réponses données.
  • En fait, sur mon 4.4.2 Samsung Galaxy S III, l'ombre est là, grâce à AppCompat.
InformationsquelleAutor FirestormXYZ | 2014-11-16