Android Canvas.drawCircle в центре экрана - PullRequest
8 голосов
/ 15 ноября 2011

Я использую Canvas.drawCircle, чтобы нарисовать круг в Android laout.

Метод получает 3 параметра - первые два являются позициями - x и y.

Можно ли пропустить жестко закодированное положение круга и нарисовать его по центру?

Ответы [ 3 ]

18 голосов
/ 15 ноября 2011

Следующий код может быть использован для определения ширины и высоты экрана.

int width = this.getWidth(); 
int height = this.getHeight(); 

Чтобы нарисовать круг в середине экрана, вы можете позвонить:

Canvas.drawCircle(width/2, height/2)
3 голосов
/ 15 ноября 2011

Вы можете нарисовать круг с центром на экране следующим образом:

Display disp = ((WindowManager)this.getContext().getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
canvas.drawCircle(disp.getWidth()/2, disp.getHeight()/2, radius, paint);
3 голосов
/ 15 ноября 2011

Если вы расширяете класс View:

int CentreX = (this.getWidth() / 2);
int CentreY = (this.getHeight() / 2);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...