我加载位图,然后将其设置为ListView适配器中的项目的背景:
currentView.setBackground(new BitmapDrawable(getContext().getResources(), sImgArray[position]));
之前,位图从服务器加载到阵列中。在20或21之前,API上的一切都没问题,但是当更高时,未显示位图。如何解决?
我也尝试过毕加索的这段代码,希望它可以解决我的问题,但它也没有。而且我不喜欢它,因为我需要同时显示位图。
Picasso.with(getContext())
.load(URL)
.into(new Target() {
@Override
@TargetApi(16)
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
int sdk = android.os.Build.VERSION.SDK_INT;
if(sdk < android.os.Build.VERSION_CODES.JELLY_BEAN) {
currentView.setBackgroundDrawable(new BitmapDrawable(bitmap));
} else {
currentView.setBackground(new BitmapDrawable(getContext().getResources(), bitmap));
}
}
});
答案 0 :(得分:0)
你能这样做吗?
int sdk = android.os.Build.VERSION.SDK_INT;
if(sdk < android.os.Build.VERSION_CODES.JELLY_BEAN) {
Bitmap resizedBitmap = Bitmap.createScaledBitmap(bitmap, Width_of_currentView, Height_of_currentView, false);
currentView.setBackgroundDrawable(new BitmapDrawable(bitmap));
} else {
Bitmap resizedBitmap = Bitmap.createScaledBitmap(bitmap, Width_of_currentView, Height_of_currentView, false);
currentView.setBackground(new BitmapDrawable(getContext().getResources(), resizedBitmap));
}
希望它会对你有所帮助。