rec.set(0, 0, canvas.getWidth(), canvas.getHeight()/2);
期待どおりに長方形を作成します.0、0はx、yであることは知っていますが、yを下に設定して、サイズが異なるすべてのデバイスで下にとどまるようにするにはどうすればよいですか?
あなたはあまり情報を与えていないので、私の仮定を述べます
x、y は形状の左上になるため、キャンバスがデバイスの全高であると仮定します。
x - 0、形状を左端から開始するため、y - デバイスの高さから形状の高さを引いたもの
あなたのコードは
int width = canvas.getWidth();
int height = canvas.getHeight()/2;
int x = 0;
int y = canvas.getHeight() - height;
rec.set(x, y, width, height);