我想将图像设置为imageView。在纵向方向上它可以正常工作。但是当设备具有横向方向时,它不会加载图像 奇怪的是,一旦我将其旋转为肖像并回到横向,它就会正确显示图像。
private void setPhoto(File photoFile) {
readyToDelete=false;
try {
Transformation transformation = new RoundedTransformationBuilder()
.borderColor(Color.parseColor("#757575"))
.borderWidthDp(3)
.cornerRadiusDp(15)
.oval(false)
.build();
Picasso.with(this)
.load(photoFile)
.fit()
.centerInside()
.transform(transformation)
.into(imageView);
imageView.setVisibility(View.VISIBLE);
deleteImageTextView.setVisibility(View.VISIBLE);
addImageTextView.setVisibility(View.GONE);
editScrollView.invalidate();
}
答案 0 :(得分:0)
在加载图像时似乎内存不足,在横向图像中,图像较大以适合视图。 试试这个:
Picasso picasso = new Picasso.Builder(image.getContext())
.listener(new Picasso.Listener() {
@Override
public void onImageLoadFailed(Picasso picasso, Uri uri, Exception exception)
{
Log.e(TAG, "Picasso error:"+exception.getCause().getMessage()+"\n"+uri);
}
})
.build();
然后使用毕加索实例:
picasso.load(photoFile)....
我建议你在加载时使用一个监听器,如果你有错误,只需加载图像调整大小以降低分辨率,例如屏幕尺寸的一半,让screenSize
为设备的像素大小屏幕最大轴:
picasso.load(photoFile).....into(_imageView, new Callback.EmptyCallback(){
@Override
public void onError()
{
picasso.load(photoFile).resize(screenSize/2, screenSize/2).centerInside().transform(transformation).into(imageView);
}
});
无论如何,你在听众身上得到的日志会给你一些发生了什么的线索