私は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);
}
}