Comment ajouter de l'ombre à la FAB fourni avec l'androïde de soutien de la bibliothèque de conception?
Le titre est assez explicites.
Le code suivant n'est pas le rendu d'ombre en dessous de l'Flottant sur le Bouton d'Action. Ce qui peut être fait pour rendre l'ombre? Cette fonction est vraiment pas prise en charge, même sur les API 21+?
<android.support.design.widget.FloatingActionButton
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/ic_add"
android:clickable="true" />
Remarque: l'Ajout de android:elevation
ne pas ajouter de l'ombre sur l'API 21.
Capture d'écran prises à partir de l'exemple par dandar3:
https://github.com/dandar3/android-support-design
- Au moins pour les plus de 21 ans, cela peut s'appliquer: stackoverflow.com/questions/27080338/...
- Quelque chose que je considère, mais de supprimer le StateListAnimator ne pas ramener de l'ombre. Cela peut être dû au fait que la FAB est en fait une longue ImageView pas un Bouton. Étrange parce que FAB a fait un StateListAnimator.
Vous devez vous connecter pour publier un commentaire.
Simplement réglage
app:borderWidth="0dp"
résoudre ce problèmes pour moi.Remarque: n'oubliez pas d'ajouter
xmlns:app="http://schemas.android.com/apk/res-auto"
à la racine de votre mise en page.Ce question devrait être corrigé dans une prochaine version d'android, de la conception de la bibliothèque.
Pour l'API de 21 ans et+, vous devez définir le
app:borderWidth="0dp"
etapp:elevation="[number]dp"
. Réglage de l'élévation, vous donnez à la taille de l'ombre que vous souhaitez:Voici un exemple de code pour l'API de 21 ans et+:
Une chose importante à retenir pour les Api ci-dessous pour 21 (Android 4), est pour les termes de compatibilité FAB va mettre une marge autour de votre bouton pour dessiner l'ombre. Alors vous devriez faire quelque chose comme ça (je suis actuellement à l'aide de ce code et de travaux):
Je préfère les mettre
xmlns:app="http://schemas.android.com/apk/res-auto"
au début du XML, mais je l'ai mis là juste pour vous rappeler ;]Si cela ne fonctionne toujours pas pour certains, il existe une différence significative entre:
et
Ordre semble compter pour quelque raison (La première commande de travaux, le deuxième ne marche pas) et c'est à partir de la bibliothèque de prise en charge 23.3.0
Vérifier manifeste dans le projet ou les bibliothèques dans l'Application de la balise et supprimer eux
Mais si vous avez besoin de ces options puis des ombres et de la transformation des animations ne fonctionnera pas
J'ai été confronté à ce même problème et je l'ai eu à travailler par la suppression de cette balise à partir de mon AndroidManifest.xml.
Au départ, j'ai ajouté, avec
android:largeHeap="true"
, parce que je pensais que j'en avais besoin pour une HeatMap dans lequel un grand nombre de points où indiqué, mais ensuite j'ai réalisé qu'elle pouvait travailler seulement avec lesandroid:largeHeap="true"
.Dans le cas de l'aide, j'ai été en utilisant
au lieu de
Remplacement de la teinte par backgroundTint ramené l'ombre.