可以将画布放/限制到布局

时间:2013-05-05 11:01:45

标签: android canvas relativelayout

我对Android编程很陌生,而且我仍然坚持如何做到这一点。

我的情况是我想在RelatativeLayout中绘制一个矩形,并且能够相对于不包含整个屏幕的RelativeLayout的大小动态地更改矩形的形状。

我的问题是当我尝试实现这个时,矩形的大小仍然相对于屏幕大小

有没有办法可以将画布大小限制为RelativeLayout大小,还是有更好的方法?

以下是来自maim活动

的代码的一部分
RelativeLayout.LayoutParams rl = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
    blueView = new Bar(this);
    blueView.setLayoutParams(rl);
    blueLayout.addView(blueView);

我还有一个扩展View

的Bar类
public class Bar extends View{

Rect theBar;

public Bar(Context context) {
    super(context);

}

@Override
protected void onDraw(Canvas canvas) {
    // TODO Auto-generated method stub
    super.onDraw(canvas);

    theBar = new Rect();
    theBar.set(0, 0, canvas.getWidth(), canvas.getHeight()/2);

    Paint blue = new Paint();
    blue.setColor(Color.BLACK);
    blue.setStyle(Paint.Style.FILL);

    canvas.drawRect(theBar, blue);
}

}

0 个答案:

没有答案