Пользовательская граница CircleImageView - PullRequest
0 голосов
/ 14 апреля 2020

Я пытаюсь создать приложение для обмена сообщениями и хочу узнать, возможно ли воссоздать изображение и имя отправителя в XML в одной фигуре / просмотре

Я хочу сделать CircleImageView с изогнутой формой, как на этой картинке

Изображение, которое я хочу воссоздать

Причина, по которой я хочу, чтобы это была одна фигура, заключается в том, что я хочу быть в состоянии изменить цвет программно.

PS : Прямо сейчас мне удалось приблизиться к тому, что я хочу, поместив TextView позади CircleImageView.

1 Ответ

0 голосов
/ 14 апреля 2020

Вы можете легко создать 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);
        }
    });
...