Bonjour,
J'essaie de faire un projet avec la version 21 de l'api (Android L) qui utilise les nouveaux "Floating Action Button".
J'arrive à faire le bouton, tout ça tout ça.
Mais impossible de faire apparaître une ombre.
L'élévation est bien réglé.
J'ai essayé de faire des translation sur Z.
J'ai vu un exemple avec la méthode setOutline sur le View, mais je ne peux pas le faire en vrai. Je doit passer par setOutlineProvider, mais ceci n(a aucun effet.
Quelqu'un a-t-il déjà reussi sans avoir à utiliser une bibliothèque externe ?
Mon code :
Le XML :
Le selector
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <ImageButton android:id="@+id/testButton" android:layout_width="50dip" android:layout_height="50dip" android:src="@android:drawable/ic_delete" android:layout_gravity="end|bottom" android:layout_margin="10dip" android:tint="#FFFFFF" android:background="@drawable/button_drawable" android:stateListAnimator="@anim/button_selector" android:elevation="4dip"/>
Le drawable
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:state_enabled="true"> <objectAnimator android:propertyName="translationZ" android:duration="@android:integer/config_shortAnimTime" android:valueFrom="2dip" android:valueTo="4dip" android:valueType="floatType"/> </item> <item> <objectAnimator android:propertyName="translationZ" android:duration="@android:integer/config_shortAnimTime" android:valueFrom="4dip" android:valueTo="2dip" android:valueType="floatType"/> </item> </selector>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <?xml version="1.0" encoding="utf-8"?> <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="?android:colorControlHighlight"> <item> <shape android:shape="oval"> <solid android:color="?android:colorAccent"/> </shape> </item> </ripple>
Partager