我对 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);
}
}