我正在使用一张128x128的圆形图像,在毕加索作为占位符绘制动画。
<?xml version="1.0" encoding="utf-8"?>
<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/loading_circle"
android:pivotX="50%"
android:pivotY="50%" />
这就是我的Java代码实现它的方式:
Picasso.with(context)
.load(message.getMediaUrl())
.config(Bitmap.Config.ARGB_4444)
.resize(w, h)
.onlyScaleDown()
.centerCrop()
.placeholder(R.drawable.progresscircle)
.into(messageImage);
请注意,上面的图像大小调整参数是加载到聊天适配器的imageview中的最终图像所必需的。
问题是,毕加索正在爆炸并像这样裁剪占位符:
如何为占位符设置合适大小的单独参数?另外,哪些确切的参数会有所帮助?
答案 0 :(得分:5)
XML
中设置ImageView
add。的
android:scaleType="centerCrop"
它可能有用。如果它不起作用,您可以设置fitXY
而不是centerCrop
。
答案 1 :(得分:2)
如上所述here,
在imageview
xml集android:scaleType="centerInside"
然后像这样添加fit().centerCrop().noFade()
Picasso.with(context)
.load(message.getMediaUrl())
.config(Bitmap.Config.ARGB_4444)
.resize(w, h)
.onlyScaleDown()
.centerCrop()
.fit()
.noFade()
.placeholder(R.drawable.progresscircle)
.into(messageImage);
答案 2 :(得分:0)
试试这个:
Picasso
.with(context)
.load(message.getMediaUrl())
.fit()
// call .centerInside() or .centerCrop() to avoid a stretched image
.into(messageImage);
答案 3 :(得分:0)
将毕加索的电话改为此,
Picasso.with(context)
.load(message.getMediaUrl())
.config(Bitmap.Config.ARGB_4444)
.fit()
.centerCrop()
.placeholder(R.drawable.progresscircle)
.into(messageImage);