2011-03-09 178 views
0

我在Netbeans项目中的屏幕尺寸是QVGA-L(240X320) 并在WVGA800(480X800) 中运行AVD首先我不确定这两者之间有什么不同。 但我真正的问题是,实际屏幕尺寸为213X270 虽然,当我把这个代码:Android屏幕尺寸

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

宽度= 240 高度= 320

,但是当我再次按下右BUTTOM角落 我从onTouchListener的MotionEvent获得213X270

我在做什么错?

回答

0

我想也许你没有考虑通知栏顶部和应用程序标题栏。如果你有你的应用程序默认布局设置有主在RES /布局/ filename.xml中的ID,您可以尝试使用这个:

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

否(0,0)低于条形。我不使用XML布局我做布局=新的RelativeLayout(this); – Rami 2011-03-09 21:22:10

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 2011-03-09 21:19:51