8

画面の中心を中心にキャンバスを回転させて、右下の (0,0) 座標を取得しようとしています。

これは私がそれを行う方法です:

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth();
int height = display.getHeight();
canvas.rotate(180, width/2, height/2);

正しく回転し、API レベル 17 の AVD ではすべてが完璧です。しかし、API レベル 8 の AVD では、(0,0) 座標が間違った場所に表示されます。回転する前は、画像はこのデバイスでも画面全体に収まっていましたが、現在は次のようになっています。

ここに画像の説明を入力

問題の原因は何ですか?

*編集!

この問題は、キャンバスを独自の中間点を中心に回転させることで解決されます。

canvas.rotate(180,canvas.getWidth()/2,canvas.getHeight()/2);

それでも、以前のバージョンが古い API で動作しないのはなぜでしょうか?

4

1 に答える 1