DividerItemDecoration drawable 绘制完全不透明
DividerItemDecoration drawable draws fully opaque
无论我以何种方式创建、设置其 alpha 或将可绘制对象分配给 RecyclerView
中的 DividerItemDecoration
,可绘制对象在我的视图中始终呈现为完全不透明。为什么会这样,我怎样才能让我的分隔线透明?
我查看了 DividerItemDecoration
的源代码,没有任何地方表明私有 mDivider
字段的 alpha 被修改了。它调用 mDivider.draw(canvas)
,其方法注释为 "Draw in its bounds (set via setBounds) respecting optional effects such as alpha (set via setAlpha) and color filter (set via setColorFilter)."
我尝试将 Drawable
创建为具有透明颜色的 XML 形状。我尝试将 Drawable
创建为单个像素 PNG。我已经尝试使用 setAlpha()
以编程方式在 Drawable
上设置 alpha。我尝试使用 setDrawable()
以编程方式将 Drawable
分配给 DividerItemDecoration
。我试过将主题中的 Drawable
分配给 @android:attr/listDivider
。所有这些方法都会产生相同的结果。 Drawable
呈现为完全不透明。
好的,明白了。问题是 RecyclerView
的背景颜色没有设置。我一直在寻找要在项目视图顶部绘制的分隔线,在它们的底部。但它实际上是在 之间 项目视图绘制分隔视图,其后面有 RecyclerView
颜色(如果设置)或者包含 RecyclerView
的视图的颜色.我一直在寻找通过项目视图的浅色显示的透明颜色,而不是通过 RecyclerView
后面屏幕的默认深色显示。问题已解决!
无论我以何种方式创建、设置其 alpha 或将可绘制对象分配给 RecyclerView
中的 DividerItemDecoration
,可绘制对象在我的视图中始终呈现为完全不透明。为什么会这样,我怎样才能让我的分隔线透明?
我查看了 DividerItemDecoration
的源代码,没有任何地方表明私有 mDivider
字段的 alpha 被修改了。它调用 mDivider.draw(canvas)
,其方法注释为 "Draw in its bounds (set via setBounds) respecting optional effects such as alpha (set via setAlpha) and color filter (set via setColorFilter)."
我尝试将 Drawable
创建为具有透明颜色的 XML 形状。我尝试将 Drawable
创建为单个像素 PNG。我已经尝试使用 setAlpha()
以编程方式在 Drawable
上设置 alpha。我尝试使用 setDrawable()
以编程方式将 Drawable
分配给 DividerItemDecoration
。我试过将主题中的 Drawable
分配给 @android:attr/listDivider
。所有这些方法都会产生相同的结果。 Drawable
呈现为完全不透明。
好的,明白了。问题是 RecyclerView
的背景颜色没有设置。我一直在寻找要在项目视图顶部绘制的分隔线,在它们的底部。但它实际上是在 之间 项目视图绘制分隔视图,其后面有 RecyclerView
颜色(如果设置)或者包含 RecyclerView
的视图的颜色.我一直在寻找通过项目视图的浅色显示的透明颜色,而不是通过 RecyclerView
后面屏幕的默认深色显示。问题已解决!