2 o casper ne O_Casper_ne 于 2013.08.22 17:16 提问

如何以程序化的方式为LinearLayout创建背景?

我想在一个LinearLayout上动态的设置一个背景。这个背景很简单,只有2个矩形,位置时挨着的。矩形的宽度在运行的时候才能知道。请问用什么方法呢?

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); 

我想创建一个复合的drawable,我希望别的矩形放在位置20的地方,但是它却充满整个布局。如何实现这个功能?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!