Android и округленное изображение: как изменить цвет рамки - PullRequest
0 голосов
/ 11 июня 2018

В своем XML-макете я использую этот код для создания определенной формы для моего изображения:

 <com.makeramen.roundedimageview.RoundedImageView
                xmlns:app="http://schemas.android.com/apk/res-auto"
                android:id="@+id/avatar"
                android:layout_width="120dp"
                android:layout_height="120dp"
                android:src="@drawable/adduserprofile"
                android:scaleType="centerCrop"
                app:riv_border_width="5dip"
                app:riv_border_color="#ff9800"
                app:riv_mutate_background="true"
                app:riv_oval="false"
                app:riv_corner_radius_bottom_right="15dp"
                app:riv_corner_radius_top_left="15dp"
                app:riv_corner_radius_bottom_left="15dp"
                />

, а затем загружаю изображение в Picasso следующим образом:

Picasso.get().load(url.memoryPolicy(MemoryPolicy.NO_CACHE, MemoryPolicy.NO_STORE).networkPolicy(NetworkPolicy.NO_CACHE).into(p_avatar);

Есть ли возможность изменить цвет границы в Java с помощью Пикассо или любым другим способом?Я хотел бы изменить цвет границы в зависимости от событий некоторых пользователей.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 12 июня 2018

попробуй.

((RoundedImageView) view.findViewById(R.id.avatar)).setBorderColor(getResources().getColor(android.R.color.black));
((RoundedImageView) view.findViewById(R.id.avatar)).setBorderWidth(position * 5);
((RoundedImageView) view.findViewById(R.id.avatar)).setCornerRadius(position * 5);
((RoundedImageView) view.findViewById(R.id.avatar)).setImageBitmap(item.mBitmap);
((RoundedImageView) view.findViewById(R.id.avatar)).setScaleType(item.mScaleType);
0 голосов
/ 11 июня 2018

Вы можете использовать Преобразование объект, чтобы установить свойства фигуры.Используйте разные объекты Transformation для разных событий.

Transformation transformation = new RoundedTransformationBuilder()
      .borderColor(Color.BLACK)
      .borderWidthDp(3)
      .cornerRadiusDp(30)
      .oval(false)
      .build();

Picasso.with(context)
.load(url)
.fit()
.transform(transformation)
.into(imageView);

Перед использованием вы должны проверить библиотеку README .

...