Вы можете легко создать TextView с возможностью рисования в зависимости от ваших потребностей, например, TextView с drawableLeft, drawableRight, drawableTop, drawableBottom, вы также можете добавить drawablePadding, а также поиграть с гравитацией, layout_gravity, layout_height для позиционирования текста по сравнению с изображением.
и затем вы можете использовать Glide для загрузки изображений, вы можете настроить границы по своему усмотрению:
Glide.with(myFragmentOrActivity)
.load(imageUrl)
.apply(RequestOptions.circleCropTransform())
.into(new CustomTarget<Drawable>(100,100) {
@Override
public void onResourceReady(@NonNull Drawable resource, @Nullable Transition<? super Drawable> transition)
{
left.setCompoundDrawablesWithIntrinsicBounds(null, resource, null, null);
}
@Override
public void onLoadCleared(@Nullable Drawable placeholder)
{
left.setCompoundDrawablesWithIntrinsicBounds(null, placeholder, null, null);
}
});