Рисунки Android Рисование в холсте - PullRequest
0 голосов
/ 16 мая 2011

Я создаю свой собственный вид и рисую растровое изображение на холсте. Если я установил его, скажем, (100,100), то это нормально на экране 320 * 480, но на большем 480 * 800 он не отображается в одном и том же месте..

Как я могу получить его в том же месте. Я много искал в Google, но не могу найти решение.

Есть советы?Учебники?

Спасибо

Ответы [ 2 ]

1 голос
/ 16 мая 2011

Я думаю, что вы должны принять метрики дисплея

Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();

и присвойте своему холсту динамические значения. Примерно так width / 5. Я надеюсь, что это поможет вам.

0 голосов
/ 16 мая 2011

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

@Override public void onSizeChanged (int w, int h, int oldw, int oldh){      
  super.onSizeChanged(w, h, oldw, oldh); 

  canvasW = w;   
  canvasH = h; 

} 

В этом методе вы также можете изменить размеры своих растровых изображений, чтобы они соответствовали размеру холста.

Несмотря на то, что ваш холст может занимать весь экран, в Android 3.0 внизу есть полоска, которая займет некоторое пространство, поэтому onSizeChanged дает реальный размер холста.

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