Android Область холста не полноэкранная. Как установить область холста? - PullRequest
0 голосов
/ 15 марта 2020

enter image description here

Здравствуйте. Я рисую наложение прямоугольника на Android Canvas.

canvas.drawRect(0, 0, 1000, 1000, paint);

Это мой код. Я установил начальную точку (0,0), которая является (слева, сверху) координатой. Но (0,0) не находится в левой верхней конечной точке полного экрана. Независимо от того, насколько велика ширина и высота, холст также не может охватывать весь экран.

Как я могу решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 15 марта 2020

Ваша проблема в том, что по умолчанию XML использует вещь, называемую Titlebar, в ответ на вопрос здесь . Наряду с удалением заголовка заголовка вы можете установить полноэкранный режим своей активности, а также удалить строку состояния, используя это решение .

Убедитесь, что ваша деятельность импортируется из Activity, а не из ActionBarActivity.

Кроме того, лучше избегать использования фактических чисел при настройке позиции или размера, и особенно когда Цель состоит в том, чтобы покрыть весь экран. Вы можете получить ширину и высоту экрана, используя getWidth() и getHeight() соответственно:

canvas.drawRect(0, 0, getWidth(), getHeight());

Обязательно используйте эти методы только в или после onDraw метод был вызван , иначе их значения будут равны 0, поскольку холст еще не был инициализирован.

0 голосов
/ 15 марта 2020

Если вы хотите полноэкранный режим, используйте вызов setContentView(canvas). Это устанавливает полный вид холста в качестве макета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...