J'ai récemment mis à niveau Glide vers la version 4, ce qui a causé des problèmes avec l'image que j'ai affichée dans un bouton d'action flottant. J'ai essayé 2 méthodes et j'utiliser le même XML pour les deux:Shadow affichage en tant que carré sur FloatingActionButton Glide V4
XML:
<android.support.design.widget.FloatingActionButton
android:id="@+id/profilepic_fab"
android:layout_width="150dp"
android:layout_height="150dp"
android:scaleType="center"
app:layout_anchor="@id/appbar"
app:layout_anchorGravity="bottom|center_horizontal"
app:srcCompat="@mipmap/bookmark_checked_white" />
Méthode n ° 1:
RequestOptions optionsCentre = new RequestOptions()
.placeholder(R.drawable.profilepic_placeholder)
error(R.drawable.profilepic_placeholder).dontTransform()
.dontAnimate().CircleCrop();
Glide.with(context)
.load(userinfo.getprofilePic())
.apply(optionsCentre)
.into(profilepic);
Résultat de la Méthode n ° 1: Il semble bon sur Android 7.1 .2 mais 4.4, il ressemble à l'image ci-dessous:
Méthode n ° 2:
RequestOptions options = new RequestOptions()
.fitCenter()
.placeholder(R.drawable.profilepic_placeholder)
.error(R.drawable.profilepic_placeholder)
.priority(Priority.HIGH);
Glide.with(context)
.asBitmap()
.apply(options)
.load(url)
.into(new BitmapImageViewTarget(fab) {
@Override
protected void setResource(Bitmap resource) {
RoundedBitmapDrawable circularBitmapDrawable =
RoundedBitmapDrawableFactory.create(context.getResources(), resource);
circularBitmapDrawable.setCircular(true);
fab.setImageDrawable(circularBitmapDrawable);
}
});
Résultat de la Méthode n ° 2: Les résultats semblent différents sur Android 7.1.2 et 4.4
Android 7.1.2:
Android 4.4:
La méthode n ° 2 est ce qui fonctionnait avec Glide v3 ... Toute aide serait grandement appréciée!
Merci pour la solution détaillée! J'ai dû l'implémenter avec un ImageView mais j'ai du mal à obtenir une ombre qui a un dégradé. J'ai seulement été capable de faire du boarder gris uni autour de l'ImageView pas une ombre les diminutions de l'opacité allant vers l'extérieur. Des pensées? – CacheMeOutside