1

私はAndroidでcanvasを使用しています。すべての画面に収まる形をキャンバスに描きたいです。

画面サイズが320*240の場合、高さと幅は90 * 90ですが

screen_sizeが> 320 * 240の場合は、それに応じて大きくする必要があります。

screen_size = 1280 * 800とすると、どれだけ増加する必要がありますか

これをどうしたらいいのかわからない

コードは似ています

int fixHeight = 240, fixWidth = 320;
Paint paint;
paint = new Paint();
paint.setColor(Color.GREEN);
DisplayMetrics displaymetrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int height = displaymetrics.heightPixels;
int width = displaymetrics.widthPixels;
@Override
protected void onDraw(Canvas canvas) {
     if (height <= fixHeight && width <= fixWidth) {
          canvas.drawRect(10, 10, 50, 50, paint);  
     } else {
          // Don't Know What TO Put Here
     }
}

誰かが私を助けることができますか

4

1 に答える 1

1

onDrawメソッドでは、レイアウトheightwidthのレイアウトを確認し、canvasそれに応じてdraw.heightとdraw.widthを調整することをお勧めします。

画面のサイズが大きくなっている場合は、draw.width定数とdraw.height定数に乗算係数を使用して、描画する前に乗算または除算することができます。

編集:コードが投稿された後。

たとえば、320 * 240が、高さ40、幅40の長方形を描画するための基本ケースであるとしましょう。canvas.drawRect(10, 10, 50, 50, paint);つまり、左、上、右、下を使用して、1280*800の新しい解像度でケースを変更できます。以下の式を使用します。

320 --> (50 - 10)
1280 --> (x - 10)

それでx = 10 + (50-10)*1280/320

wdithについて同じフォーラムを繰り返してみてください。そうすれば、基本座標を取得する必要があります。上記と同じ式に基づいて、10、10(ここでは一定に保っています)を新しい場所に調整できると思います。

于 2012-06-15T05:30:04.593 に答える