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.
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)));
Remplacez la valeur par défaut élévation du FAB en ajoutant:
Android:elevation="0dp"
Ou en appel de code View.setElevation (float)
Remplacez l'élévation par défaut du FAB en ajoutant les éléments suivants:
app:elevation="0dp"
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"/>
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
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:
Avant le changement, il ressemblait à ceci:
Rendre borderWidth à 0
app:borderWidth="0dp"