将多个Drawable视图添加到Layout元素

时间:2014-06-19 17:34:18

标签: android android-layout

我已经定义了如下所示的自定义绘图:

private class SquareDrawableView extends View {
    private ShapeDrawable mDrawable;

    public SquareDrawableView(int x, int y, int size, int color, Context context) {
        super(context);

        mDrawable = new ShapeDrawable(new RectShape());
        mDrawable.getPaint().setColor(color);
        mDrawable.setBounds(x, y, x + size, y + size);
    }

    public void setColor(int color) {
        mDrawable.getPaint().setColor(color);
    }

    protected void onDraw(Canvas canvas) {
        mDrawable.draw(canvas);
    }
}

我正在尝试在LinearLayout中平铺其中的一些。目前,当我运行此代码时,我只得到一个正方形出现在LinearLayout的“第一”位置。我在这里做错了什么?

top = (LinearLayout)findViewById(R.id.top);
SquareDrawableView[] topSquares = new SquareDrawableView[horizCount];

for(int i = 0; i < horizCount; ++i) {
    topSquares[i] = new SquareDrawableView(i*SQUARE_SIZE,0,SQUARE_SIZE,BLUE,this);

    top.addView(topSquares[i]); 
}

0 个答案:

没有答案