0
私はxamarinを使ってアンドロイドアプリを開発しています。 Regionクラスを使用しようとすると問題が発生します。コードの下では正常に動作し、期待される青色の領域が表示されます。地域のクラスはとてもよく分かりません
Rect rect1 = new Rect(0, 0, 10,10);
canvas.ClipRect(rect1);
Rect rect2 = new Rect(20, 20, 30,30);
canvas.ClipRect(rect2, Region.Op.Union);
canvas.DrawRect(0, 0, 40, 40, paint);
しかし、コードの下に動作しない、ちょうど私がなぜ知らない何も、空白の背景
Region region = new Region();
Rect rect1 = new Rect(0, 0, 10,10);
region.Union(rect1);
Rect rect2 = new Rect(20, 20, 30,30);
region.Union(rect2);
canvas.ClipRegion(region);
canvas.DrawRect(0, 0, 40, 40, paint);
を示していません。
ありがとうございます。私は自分の座標を変更し、図形を表示することができます。しかし、私はあなたの説明に同意しない。 ActionBarや他の何かが私の形をカバーし、それが第2のケースでは見えない場合、なぜその形が最初のケースで見られるのでしょうか? – Frank
現在の行列で引数を変換するclipRect()やclipPath()と違って、clipRect()メソッドを意味し、その座標は現在の行列、配置される空間です。しかし、ClipRegion()メソッドの場合、その座標は現在のレイヤのビットマップ、電話画面です。彼らの座標は異なっている。 –
私は自分の答えを更新しました。確認してください。 :) –