我想在所有 Android 手机上绘制一个填充整个屏幕的矩形,所有分辨率,所有屏幕密度。一切...... :) 首先,根据我的理解,Canvas.drawRect 用作以像素为单位的尺寸值。希望这是正确的。作为 Android 新手,我认为如果我只是这样写就足够了,因为目前没有分辨率高于 1024x1024 像素的 Android 设备:
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);
我想知道这是否正确,以及这段代码是否会覆盖所有屏幕,矩形是否会填满整个屏幕。当然,使用这种方法,我还必须注意屏幕方向,因为当屏幕处于横向时,它们之间的值似乎会交换。