1

我正在使用 android 中的画布。我想在适合每个屏幕的画布上绘制形状。

如果屏幕尺寸为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方法中,您可能需要检查您的布局并相应地height调整您的 draw.height 和 draw.width。widthcanvas

如果屏幕的大小增加了,那么您可以在 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 回答