当我使用fit()时Android Picasso没有加载图片

时间:2017-05-22 12:43:37

标签: android android-imageview picasso

没有fit()它可以正常工作 。Picasso.with(getApplicationContext())的负载(url.concat(featureImage))代入(ImageView的);

ImageView imageView = (ImageView)findViewById(R.id.featureImage);
TextView textTitle = (TextView)findViewById(R.id.title);
TextView textDetail = (TextView)findViewById(R.id.detail); 
 Picasso.with(getApplicationContext()).load(url.concat(featureImage)).fit().into(imageView);
textTitle.setText(title);
textDetail.setText(detail);

3 个答案:

答案 0 :(得分:5)

  • fit() - 尝试调整图像大小以完全适合目标ImageView的边界。

因此,如果您设置了ImageView “wrap_content” layout_width layout_height ,并且未设置最小可能的尺寸,高度或宽度视图最初为0,您的图像将相应调整大小。

答案 1 :(得分:2)

试试这种方式

Picasso.with(mContext).load(url).centerCrop().fit()
                            .placeholder(R.mipmap.bg_screen)
                            .error(R.mipmap.bg_screen)
                            .into(mImageView, new com.squareup.picasso.Callback() {
                                @Override
                                public void onSuccess() {
                                    Log.i(TAG, "onSuccess: TRUE");
                                }

                                @Override
                                public void onError() {
                                    Log.i(TAG, "onError: TRUE");
                                }
                            });

xml中的imageview应该是,

<ImageView
                android:id="@+id/img_movie"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:scaleType="fitXY"
                android:adjustViewBounds="true"
                android:layout_gravity="center"
                />

答案 2 :(得分:1)

  

最终,以下代码符合我的要求。

Picasso.with(getApplicationContext()).load(url.concat(featureImage)).centerCrop().fit()
            .placeholder(R.mipmap.nrum_logo)
            .error(R.mipmap.nrum_logo)
            .into(imageView, new com.squareup.picasso.Callback() {
                @Override
                public void onSuccess() {
                    Log.i("Picasso", "onSuccess: TRUE");
                }

                @Override
                public void onError() {
                    Log.i("Picasso", "onError: TRUE");
                }
            });

我的imageView:

<ImageView
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:scaleType="fitCenter"
            android:id="@+id/featureImage" />