我有一个 LinearLayout,我想以编程方式设置背景。这个背景应该很简单,就是两个并排的长方形。矩形的宽度仅在运行时才知道。最好的方法是什么?
ShapeDrawable done = new ShapeDrawable(new RectShape());
done.setBounds(new Rect(0, 0, 0, 0));
done.getPaint().setColor(Color.GREEN);
ShapeDrawable remaining = new ShapeDrawable(new RectShape());
remaining.setBounds(new Rect(20, 0, 0, 0));
remaining.getPaint().setColor(Color.RED);
LayerDrawable composite = new LayerDrawable(new Drawable[]{remaining, done});
weightRow.setBackgroundDrawable(composite);
我试图创建一个像这样的复合可绘制对象,我希望剩余的矩形从位置 20 开始,但它只是填充了整个布局。