我正在尝试通过ViewHolder
设置Holder.itemView
holder.itemView.setBackground('someKindofDrawable')
的背景。
我使用渐变创建了它,但是没有给出预期的结果。 我需要为背景创建一个简单的轻量级组件。
这是我使用的代码:
GradientDrawable gradientRectangle = new GradientDrawable(
Orientation.TOP_BOTTOM,
new int[]{0xFFFFFFFF,0x00000000});
gradientRectangle.setShape(GradientDrawable.RECTANGLE);
holder.itemView.setBackground(gradientRectangle);
图像是预期的结果(边界代表矩形)。
答案 0 :(得分:0)
我找到了答案(如果有帮助的话):
public class DrawableItemSelectedBackgroundITopColor
{
LayerDrawable layerdrawable;
Drawable[] DrawableArray;
ColorDrawable topColor;
ColorDrawable bottomColor;
public DrawableItemSelectedBackgroundITopColor(Context context, String Theme)
{
topColor = new ColorDrawable(ContextCompat.getColor(context,R.color.tiny_prints_blue));
bottomColor = new ColorDrawable(ContextCompat.getColor(context,R.color.white));
DrawableArray = new Drawable[]{
topColor,
bottomColor
};
layerdrawable = new LayerDrawable(DrawableArray);
layerdrawable.setLayerInset(0,0,0,0,0);
layerdrawable.setLayerInset(1,0,9,0,0);
}
public LayerDrawable getDrawableBackgroundItemTop(){
return layerdrawable;
}
}