Рисуемая тонировка в RecyclerView для pre-LollipopAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Рисуемая тонировка в RecyclerView для pre-Lollipop

Сообщение Anonymous »

Я пытаюсь использовать прорисовываемую тонировку, используя следующий код в RecyclerView
Drawable likeDrawable = ContextCompat.getDrawable(getActivity(), R.drawable.ic_thumb_up);
Drawable likeWrappedDrawable = DrawableCompat.wrap(likeDrawable);
DrawableCompat.setTint(likeWrappedDrawable,ContextCompat.getColor(getActivity(), android.R.color.white));
holder.ivLike.setImageDrawable(likeWrappedDrawable);

Теперь все это делается в onBindViewHolder адаптера RecyclerView
Я меняю этот оттенок между тремя цветами в зависимости от состояние этого элемента списка. Это отлично работает для Lolipop и выше, но ниже этой версии цвет элемента списка непредсказуем. Иногда он показывает правильный цвет, но при обновлении списка иногда он меняется на другой цвет.
Что-то, что я здесь делаю неправильно, или тонировка на предварительном леденце по-прежнему непригодна для использования в этом конкретном случае. ?
Обновить
Включая код из моего onBindViewHolder
@Override
public void onBindViewHolder(ViewHolder holder, int position) {

Drawable likeDrawable =
ContextCompat.getDrawable(getActivity(), R.drawable.ic_thumb_up);

Drawable likeWrappedDrawable = DrawableCompat.wrap(likeDrawable);

holder.tvLikeCount.setTextColor(ResUtil.getColor(R.color.light_font,
getActivity()));

DrawableCompat.setTint(likeWrappedDrawable,
ContextCompat.getColor(getActivity(), android.R.color.white));

if (tweetModel.isFavorited()) {
DrawableCompat.setTint(likeWrappedDrawable,
ContextCompat.getColor(getActivity(), android.R.color.holo_blue_light));
}

holder.ivLike.setImageDrawable(likeWrappedDrawable);

}


Подробнее здесь: https://stackoverflow.com/questions/352 ... e-lollipop
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»