DividerItemDecoration drawable绘制完全不透明的

时间:2018-08-31 05:43:54

标签: android android-recyclerview divider

无论我以哪种方式创建,设置其Alpha或在DividerItemDecoration中为RecyclerView分配可绘制对象,该可绘制对象在我看来始终是完全不透明的。为什么会这样,如何使分隔线透明?

我在DividerItemDecoration的源代码中查找,并且私有mDivider字段的alpha修改无处不在。它调用mDivider.draw(canvas),其方法注释为“在其边界内绘制(通过setBounds设置) 尊重可选效果,例如alpha (通过setAlpha设置)和滤色器(通过setColorFilter设置)。“

我尝试将Drawable创建为具有透明颜色的XML形状。我尝试将Drawable创建为单个像素PNG。我尝试使用Drawable以编程方式在setAlpha()上设置Alpha。我尝试使用Drawable以编程方式将DividerItemDecoration分配给setDrawable()。我尝试用Drawable在主题中分配@android:attr/listDivider。所有这些方法产生相同的结果。 Drawable呈现为完全不透明。

1 个答案:

答案 0 :(得分:1)

好,知道了。问题是未设置RecyclerView的背景色。我一直在寻找在项目视图顶部,底部的分隔线。但是它实际上是在项目视图之间的分隔视图 上绘制,其后是RecyclerView颜色(如果已设置),或者是包含RecyclerView的视图颜色。我一直在寻找透明的颜色以通过项目视图的浅色显示,而是通过RecyclerView后面的默认屏幕暗色显示。问题解决了!