毕加索 - 如何调整占位符的大小

时间:2016-07-01 06:10:03

标签: android imageview android-drawable scaling picasso

我正在使用一张128x128的圆形图像,在毕加索作为占位符绘制动画。

enter image description here

<?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中的最终图像所必需的。

问题是,毕加索正在爆炸并像这样裁剪占位符:

enter image description here

如何为占位符设置合适大小的单独参数?另外,哪些确切的参数会有所帮助?

4 个答案:

答案 0 :(得分:5)

XML中设置ImageView add。

android:scaleType="centerCrop"

它可能有用。如果它不起作用,您可以设置fitXY而不是centerCrop

答案 1 :(得分:2)

如上所述here

  1. imageview xml集android:scaleType="centerInside"

  2. 然后像这样添加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);