DividerItemDecoration drawable рисует полностью непрозрачным - PullRequest
0 голосов
/ 31 августа 2018

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

Я искал в источнике DividerItemDecoration, и нигде в частном поле mDivider не было изменено альфа. Он вызывает mDivider.draw(canvas), чей комментарий к методу говорит: «Рисовать в своих границах (устанавливается с помощью setBounds) с учетом дополнительных эффектов, таких как альфа (устанавливается с помощью setAlpha) и цветового фильтра (устанавливается с помощью setColorFilter» ). "

Я пытался создать Drawable как форму XML с прозрачным цветом. Я пытался создать Drawable в виде однопиксельного PNG. Я попытался установить альфа на Drawable программно с помощью setAlpha(). Я попытался назначить Drawable на DividerItemDecoration программно с setDrawable(). Я попытался присвоить Drawable в теме с @android:attr/listDivider. Все эти методы дают одинаковый результат. Drawable отображается полностью непрозрачным.

1 Ответ

0 голосов
/ 31 августа 2018

Хорошо, понял это. Проблема заключалась в том, что цвет фона RecyclerView не был установлен. Я искал разделитель для рисования поверх представлений элементов, внизу них. Но на самом деле он рисует разделительное представление между представлениями элемента, с цветом RecyclerView позади него (если он установлен) или же цветом представления, содержащего RecyclerView. Я искал прозрачный цвет для отображения через светлый цвет представления элемента, вместо этого он показывал через темный цвет экрана по умолчанию за RecyclerView. Проблема решена!

...