Заполнение всего экрана в нескольких разрешениях экрана, плотности - PullRequest
0 голосов
/ 19 января 2011

Я хочу нарисовать прямоугольник, который заполняет весь экран на всех телефонах 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);

Я хочу знать, верно ли это, и будет ли этот фрагмент кода охватывать все экраны, и прямоугольник будетзаполнить весь экран.Конечно, при таком подходе мне придется заботиться и об ориентации экрана, так как кажется, что значения меняются местами между ними, когда экран находится в альбомной ориентации.

1 Ответ

0 голосов
/ 01 апреля 2011

Вы можете попробовать canvas.drawColor (int color)

...