我正在以编程方式在 android 中生成形状可绘制和可绘制运行时。我所需要的是将两个drawable组合成一个drawable。我尝试通过以下方法实现,但似乎没有任何效果。
使用 LayerDrawable 将两个可绘制对象组合成单个的示例代码
public static LayerDrawable drawCircleWithIcon (Context context, int width, int height, int color,Drawable drawable) {
ShapeDrawable oval = new ShapeDrawable (new OvalShape ());
oval.setIntrinsicHeight (height);
oval.setIntrinsicWidth (width);
oval.getPaint ().setColor (color);
Drawable[] layers = new Drawable[2];
layers[0] = drawable;
layers[1] = oval;
LayerDrawable composite1 = new LayerDrawable (layers);
return composite1;
}
我传递的论点:
width - width of the circle
height - height of the circle
color - color of the circle
drawable - icon that needs to be fit inside the ShapeDrawable (i.e. Round circle inside placed with icon)
我的要求:
我需要结合两个drawable(一个是ShapeDrawable和drawable)。输出必须如下所示
请帮助我提供解决方案或替代方法,将两个可绘制对象合并为一个可绘制图标。提前致谢。