以多种屏幕分辨率,密度填充整个屏幕

时间:2011-01-19 18:54:46

标签: android drawrect pixels screens

我想在所有Android手机上绘制一个填满整个屏幕的矩形,所有分辨率,所有屏幕密度。一切...... :) 首先从我的理解Canvas.drawRect用作像素中的尺寸值。希望这是正确的。 对Android不熟悉我认为如果我只是这样编写它就足够了,因为此时没有Android设备的分辨率高于1024x1024像素:

ScreenWidth = 1024;
ScreenHeight = 1024;
canvas.drawRect(0,0, ScreenWidth, ScreenHeight, mLoadPaint);

但似乎在某些设备上,此Rectangle不会填满整个屏幕。什么是奇怪的,我无法解释自己,这不会总是发生,但在某个时间点...... 无论如何,似乎代码存在问题,所以我想将其改为看起来像这样,但现在确定metrics.widthPixels和metrics.heightPixels将解决我的问题:

wm = (WindowManager) getSystemService(WINDOW_SERVICE);
DisplayMetrics metrics = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(metrics);
canvas.drawRect(0,0, metrics.widthPixels, metrics.heightPixels, mLoadPaint);

我想知道这是否正确,如果这段代码将覆盖所有屏幕,矩形将填满整个屏幕。 当然,通过这种方法,我还必须注意屏幕方向,因为当屏幕处于横向时,似乎值之间会交换它们。

1 个答案:

答案 0 :(得分:0)

您可以尝试canvas.drawColor(int color)