Я хочу нарисовать прямоугольник, который заполняет весь экран на всех телефонах Android, все разрешение, все плотности экрана. Все ... :) Во-первых, насколько я понимаю, Canvas.drawRect используют в качестве значений размеров в пикселях.Надеюсь, это правильно.Будучи новичком в Android, я подумал, что если я просто напишу так, этого будет достаточно, так как на данный момент нет устройства Android с разрешением выше 1024x1024 пикселей:
ScreenWidth = 1024;
ScreenHeight = 1024;
canvas.drawRect(0,0, ScreenWidth, ScreenHeight, mLoadPaint);
Но, похоже, на некоторыхУстройства этого прямоугольника не заполняют весь экран.Что странно, и я не могу объяснить себе, что это происходит не всегда, но в определенный момент времени ... В любом случае, кажется, что есть проблема с кодом, поэтому я хотел бы изменить его, чтобы он выглядел примерно так, но теперь уверен, что это 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);
Я хочу знать, верно ли это, и будет ли этот фрагмент кода охватывать все экраны, и прямоугольник будетзаполнить весь экран.Конечно, при таком подходе мне придется заботиться и об ориентации экрана, так как кажется, что значения меняются местами между ними, когда экран находится в альбомной ориентации.