当存在无效路径时如何使毕加索显示默认图像
how to make picasso display default image when there is an invalid path
我在此处显示默认图像名称时遇到一个问题 R.drawable.avatar_placeholder。当来自 web 服务的 link 非空时,但错误 404. 表示该 link 路径上没有任何图像。如果我 运行 下面这个函数,显示字符串 "path not empty",但它无法显示图像。欢迎任何建议。谢谢
private void loadProfileDetails() {
Logger.d(UI_LoginFragmentWithPin.class, "loadProfileDetails profile image: " + PrefUtils.readString(Constant.PREF_PROFILE_IMAGE));
if (!TextUtils.isEmpty(PrefUtils.readString(Constant.PREF_PROFILE_IMAGE))){
Utils.println("path not empty");
LPicasso.getInstance(getActivity())
.load(PrefUtils.readString(Constant.PREF_PROFILE_IMAGE))
.config(Bitmap.Config.RGB_565)
.resize(200, 200)
.centerCrop()
.into(imgProfile);
}else {
Utils.println("path empty");
LPicasso.getInstance(getActivity())
.load(R.drawable.avatar_placeholder)
.config(Bitmap.Config.RGB_565)
.resize(200, 200)
.centerCrop()
.into(imgProfile);
}
tvEmail.setText(PrefUtils.readString(Constant.PREF_EMAIL));
tvName.setText(PrefUtils.readString(Constant.PREF_USER_NAME) + " " + PrefUtils.readString(Constant.PREF_USER_SURNAME));
}
试试这个,
将错误图像设置为您的占位符图像
if(!PrefUtils.readString(Constant.PREF_PROFILE_IMAGE).equals(""))
{
Picasso.with(context).load(PrefUtils.readString(Constant.PREF_PROFILE_IMAGE)).resize(200,200).centerCrop().error(R.drawable.avatar_placeholder).into(imgProfile);
}
else
{
Picasso.with(context).load(R.drawable.avatar_placeholder).error(R.drawable.avatar_placeholder).resize(200,200).centerCrop().into(imgProfile);
}
gradle:
compile 'com.squareup.picasso:picasso:2.5.2'
试试这个,
Picasso.with(this)
.load("YOUR IMAGE URL HERE")
.placeholder(DRAWABLE RESOURCE)
.error(DRAWABLE RESOURCE) // Image to load when something goes wrong
.resize(width, height)
.rotate(degree)
.into(imageView);
Picasso 没有管理 android 内存和速度慢,
所以我希格利建议你不要使用它
而不是它只是使用 Glide liberary 。
(您可以下载图片并用滑行制作她的圆圈,下载图片位图等等)
添加到 Gradle:
repositories { mavenCentral() // jcenter() works as well because it
pulls from Maven Central }
dependencies { compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'com.android.support:support-v4:19.1.0' }
并且只是:
加载图片:
Glide.with(this).load("URL").into(imageView);
并且您可以通过滑行添加更多功能,
例如,如果你想要一个占位符,直到照片加载
你只是添加 .placeholder():
:
Glide.with(this).load("URL").placeholder(R.drawable.placeholder).into(imageView);
如果您想要显示照片以防您尝试加载的照片已损坏或有任何问题,只需添加 .error()
:
Glide.with(this).load("URL").error(R.drawable.error).placeholder(R.drawable.placeholder).into(imageView);
我在此处显示默认图像名称时遇到一个问题 R.drawable.avatar_placeholder。当来自 web 服务的 link 非空时,但错误 404. 表示该 link 路径上没有任何图像。如果我 运行 下面这个函数,显示字符串 "path not empty",但它无法显示图像。欢迎任何建议。谢谢
private void loadProfileDetails() {
Logger.d(UI_LoginFragmentWithPin.class, "loadProfileDetails profile image: " + PrefUtils.readString(Constant.PREF_PROFILE_IMAGE));
if (!TextUtils.isEmpty(PrefUtils.readString(Constant.PREF_PROFILE_IMAGE))){
Utils.println("path not empty");
LPicasso.getInstance(getActivity())
.load(PrefUtils.readString(Constant.PREF_PROFILE_IMAGE))
.config(Bitmap.Config.RGB_565)
.resize(200, 200)
.centerCrop()
.into(imgProfile);
}else {
Utils.println("path empty");
LPicasso.getInstance(getActivity())
.load(R.drawable.avatar_placeholder)
.config(Bitmap.Config.RGB_565)
.resize(200, 200)
.centerCrop()
.into(imgProfile);
}
tvEmail.setText(PrefUtils.readString(Constant.PREF_EMAIL));
tvName.setText(PrefUtils.readString(Constant.PREF_USER_NAME) + " " + PrefUtils.readString(Constant.PREF_USER_SURNAME));
}
试试这个,
将错误图像设置为您的占位符图像
if(!PrefUtils.readString(Constant.PREF_PROFILE_IMAGE).equals(""))
{
Picasso.with(context).load(PrefUtils.readString(Constant.PREF_PROFILE_IMAGE)).resize(200,200).centerCrop().error(R.drawable.avatar_placeholder).into(imgProfile);
}
else
{
Picasso.with(context).load(R.drawable.avatar_placeholder).error(R.drawable.avatar_placeholder).resize(200,200).centerCrop().into(imgProfile);
}
gradle:
compile 'com.squareup.picasso:picasso:2.5.2'
试试这个,
Picasso.with(this)
.load("YOUR IMAGE URL HERE")
.placeholder(DRAWABLE RESOURCE)
.error(DRAWABLE RESOURCE) // Image to load when something goes wrong
.resize(width, height)
.rotate(degree)
.into(imageView);
Picasso 没有管理 android 内存和速度慢, 所以我希格利建议你不要使用它 而不是它只是使用 Glide liberary 。
(您可以下载图片并用滑行制作她的圆圈,下载图片位图等等)
添加到 Gradle:
repositories { mavenCentral() // jcenter() works as well because it pulls from Maven Central }
dependencies { compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'com.android.support:support-v4:19.1.0' }
并且只是:
加载图片:
Glide.with(this).load("URL").into(imageView);
并且您可以通过滑行添加更多功能, 例如,如果你想要一个占位符,直到照片加载 你只是添加 .placeholder(): :
Glide.with(this).load("URL").placeholder(R.drawable.placeholder).into(imageView);
如果您想要显示照片以防您尝试加载的照片已损坏或有任何问题,只需添加 .error()
:
Glide.with(this).load("URL").error(R.drawable.error).placeholder(R.drawable.placeholder).into(imageView);