web-dev-qa-db-fra.com

Comment supprimer le bouton d'action flottant entourant l'ombre?

J'essaie de remplacer le tiers FloatingActionButton par le natif qui est emballé dans la bibliothèque com.Android.support:design:22.2.0. Le look par défaut a une ombre sombre autour de l'image ,Comment puis-je m'en débarrasser? Je sais que la première fournit la méthode setShadow(), mais je ne peux tout simplement pas trouver une méthode similaire dans la seconde.

enter image description here

Voici la disposition XML associée:

<Android.support.design.widget.FloatingActionButton
        Android:id="@+id/alarm_front"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:src="@drawable/btn_icon_alarm_notset" />

Et j'ai défini sa couleur d'arrière-plan sur jaune.

mAlarmBtn.setBackgroundTintList(ColorStateList.valueOf(getResources().getColor(R.color.floatButtonColor)));
23
tounaobun

Remplacez la valeur par défaut élévation du FAB en ajoutant:

Android:elevation="0dp"

Ou en appel de code View.setElevation (float)

39
BrentM

Remplacez l'élévation par défaut du FAB en ajoutant les éléments suivants:

app:elevation="0dp"
20
saurabh dhillon

Ajoute ça

Android:elevation="0dp" app:elevation="0dp"

Ce sera comme:

 <Android.support.design.widget.FloatingActionButton
        Android:id="@+id/floatingActionButton"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:src="@drawable/ic_add"
        Android:elevation="0dp"
        app:elevation="0dp"
        app:fabSize="normal"
        Android:scaleType="fitCenter"/>
19

Si vous utilisez les bibliothèques de support - les derniers modèles Android Studio les utilisent. Vérifiez les importations

import Android.support.design.widget.FloatingActionButton;
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
//if using support app compat
fab.setCompatElevation(16.0f);

sinon si vous ne supportez que les nouvelles versions sdk

fab.setElevation();
//call requires SDK 21

voir

.../app/build.gradle
  minSdkVersion 18    << less than 21 so req support libraries
  targetSdkVersion 25
5
brian.clear

J'ai essayé toutes les suggestions ci-dessus et rien n'a fonctionné pour l'API 23 et plus. Je me suis retrouvé avec cela, qui a complètement supprimé l'ombre:

app:backgroundTint="@Android:color/transparent"
app:borderWidth="0dp"

Voici à quoi ressemble mon bouton maintenant:

enter image description here

Avant le changement, il ressemblait à ceci:

enter image description here

4
Oleg Gryb

Rendre borderWidth à 0

app:borderWidth="0dp"
4
Sameer Khader