Вам не нужно брать невидимый вид и загружать в него изображение.Вы можете напрямую загрузить изображение в виде изображения и преобразовать его в растровое изображение. Вот мой код, в который я загрузил изображение в XML, а затем преобразовал весь XML-файл в растровое изображение, потому что у меня есть много других вещей, которые я хочу преобразовать в Bitmap.Iнадеюсь, что этот код поможет вам.
RawMapInfoWindowBinding rawMapInfoWindowBinding = DataBindingUtil.inflate(getLayoutInflater(), R.layout.raw_map_info_window, (ConstraintLayout) mBinding.getRoot(), false);
rawMapInfoWindowBinding.clLike.measure(
View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED), View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
rawMapInfoWindowBinding.clLike.layout(0, 0, rawMapInfoWindowBinding.clLike.getMeasuredWidth(), rawMapInfoWindowBinding.clLike.getMeasuredHeight());
Я использовал glide для загрузки моего изображения
enter code here
try {
GlideApp.with(this).asBitmap().centerCrop().circleCrop().load(statusModel.profileurl)
.diskCacheStrategy(DiskCacheStrategy.ALL).listener(new RequestListener<Bitmap>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Bitmap> target, boolean isFirstResource) {
LogUtils.LOGE(TAG, "onLoadFailed: " + statusModel.statusID);
Log.e(TAG, "onLoadFailed --------- " + isSearching);
return false;
}
@Override
public boolean onResourceReady(Bitmap bitmap, Object model, Target<Bitmap> target, DataSource dataSource, boolean isFirstResource) {
rawMapInfoWindowBinding.ivProfileImage.setImageBitmap(bitmap);
return true;
}
}).submit(100, 100);
} catch (Throwable t) {
t.printStackTrace();
}
}`