Android 当存在无效路径时,如何使毕加索显示默认图像
我在这里有一个显示默认图像名称的问题R.drawable.avatar\u占位符。当来自webservice的链接为非空,但出现错误404时。表示该链接路径上没有任何图像。如果我在下面运行这个函数,会显示字符串“path not empty”,但它无法显示图像。欢迎任何建议。谢谢Android 当存在无效路径时,如何使毕加索显示默认图像,android,picasso,Android,Picasso,我在这里有一个显示默认图像名称的问题R.drawable.avatar\u占位符。当来自webservice的链接为非空,但出现错误404时。表示该链接路径上没有任何图像。如果我在下面运行这个函数,会显示字符串“path not empty”,但它无法显示图像。欢迎任何建议。谢谢 private void loadProfileDetails() { Logger.d(UI_LoginFragmentWithPin.class, "loadProfileDetails profi
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));
}
试试这个
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);
将错误图像设置为占位符图像
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);
}
格拉德尔:
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);
毕加索没有管理android memorey&slow, 所以我建议你不要使用它 安装时只需使用Glide libeary即可 (您可以下载图像,并使用glide使其旋转,下载图像位图等) 添加到Gradle: 存储库{mavenCentral()//jcenter()也可以工作,因为它 来自Maven Central} 依赖项{compile'com.github.bumptech.glide:glide:3.7.0'
编译'com.android.support:support-v4:19.1.0'} 只是: 对于加载pic:
Glide.with(this).load("URL").into(imageView);
你可以通过glide添加更多功能,
例如,如果在照片加载之前需要占位符
您只是在添加.placeholder():
:
使用(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)
只需添加“.error(R.drawable.placeholder)”@Rajesh Kushvaha Sweet。。。。!!!谢谢。你的答案和用户2025187已经给出的答案有什么区别?他的答案贴在我的前面。你不能在三分钟内回答问题谢谢你的建议。由于我目前的项目是使用毕加索,我会尝试你的建议,当我有空闲时间。如你所知,我们正急于完成这个项目削减条件真的有必要吗?如果映像不存在,.error(..)方法本身将处理该问题。顺便说一句,如果SharePreference中的值为null,(!PrefUtils.readString(Constant.PREF_PROFILE_image).equals(“”)将崩溃。最好用另一种方法。if(“.”等于(!PrefUtils.readString(Constant.PREF\u PROFILE\u IMAGE)))