2013-03-25 1 views
0

я использовалразрешения по умолчанию ниже, чем фактическое разрешение моего устройства

DisplayMetrics metrics = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(metrics); 
cube.height=metrics.heightPixels; 
cube.width=metrics.widthPixels; 

, чтобы получить высоту и ширину моего дисплея, но разрешение низкое для моего Sony Xperia P устройства, которое QHD дисплей. из этой функции я могу получить только высоту = 569 px и width = 320 px Я не понимаю, почему это показано ниже. я думаю, что это дает мне виртуальное разрешение, чем реальное. Я использовал простой вид и метод ondraw для рисования холста.

помогите пожалуйста.

+0

Сколько DisplayMetrics дает разрешение и каковы фактические размеры пикселей вашего экрана? – Niko

ответ

0

Может быть, вы должны попробовать что-то вроде этого:

Display display = getWindowManager().getDefaultDisplay();  
Method mGetRawH = Display.class.getMethod("getRawHeight"); 
Method mGetRawW = Display.class.getMethod("getRawWidth"); 
int rawWidth = (Integer) mGetRawW.invoke(display); 
int rawHeight = (Integer) mGetRawH.invoke(display); 

Как цитируемый с сайта on this question.

+0

thanx это показывает реальное разрешение моего устройства. Но я думаю, что холст получил виртуальное разрешение, которое я имею в виду, поскольку я использую 'canvas.drawtext (« .. », 320,0, paint)' строка просто скрывается слева, так как мое устройство имеет ширину 540, поэтому я предполагаю, что это должно быть как мало осталось, чем средний, но это не так. его как холст как более низкий ppi. я попробовал в другом мобильном устройстве с дисплеем qvga, где он показывает более высокое разрешение, чем оригинальное устройство, и, похоже, делает холст с высоким ppi. я не понимаю. как я могу рисовать холст с реальным разрешением устройства. –

+0

К сожалению, я не слишком хорошо знаком с Canvas и как это работает. Я бы порекомендовал задать другой вопрос. Пожалуйста, примите и/или подтвердите свой ответ, если он помог с этим вопросом! Извините, я не мог помочь на фронте холста. – Kgrover

+0

Что вы подразумеваете под строкой, скрывающейся на левом конце? drawText принимает пиксель x и y как параметр, где должен располагаться верхний левый угол текста. Вы уверены, что ваш холст правильно расположен там, где вы рисуете (ширина, высота, координаты)? Здесь может быть полезен снимок экрана. – Niko

Смежные вопросы