2011-03-09 5 views
0

У меня есть проект в Netbeans, что размер экрана QVGA-L (240X320) и работает AVD в WVGA800 (480X800) Прежде всего, я не уверен, что между ними отличное. но моя реальная проблема заключается в том, что фактический размер экрана 213X270 хотя, что, когда я поставил этот код:Размер экрана Android

WindowManager windowManager = getWindowManager(); 
Display defaultDisplay = windowManager.getDefaultDisplay(); 
width = defaultDisplay.getWidth(); 
height = defaultDisplay.getHeight(); 

ширина = 240 высота = 320

, но еще раз, когда я нажимаю правый Buttom угол я получаю от MotionEvent от onTouchListener 213X270

что я делаю неправильно?

ответ

0

Я думаю, что, возможно, вы не учитываете панель уведомлений вверху и панель заголовка приложения. Если у вас есть набор раскладку по умолчанию для приложения, которое имеет идентификатор основной в вашем Рез/макет/filename.xml, вы можете попробовать использовать вместо этого:

LinearLayout layout = (LinearLayout) findViewById(R.id.main); 
int width = layout.getWidth(); 
int height= layout.getHeight(); 
+0

no (0,0) находится под решеткой. и я не использую XML-макет, я делаю layout = new RelativeLayout (это); – Rami

0

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

Context context = myContext.getApplicationContext(); 
WindowManager wm = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE); 
Display display = wm.getDefaultDisplay(); 
width = defaultDisplay.getWidth(); 
height = defaultDisplay.getHeight(); 

Мне очень интересно посмотреть, как это получается, поскольку у меня есть аналогичный код в моем собственном приложении. :-) Итак, лучше поиграй с этим позже.

+0

все еще давая мне 320X480: | – Rami

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