无法使用Android服务获取正确的屏幕尺寸

时间:2010-09-02 22:25:59

标签: android fullscreen

所以我想在我的应用程序上获取Moto Droid的屏幕大小。在我的Create上,我正在使用Service windowManager来获取默认显示。

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

当我设置它时,我得到宽度320和高度570.看起来不对,它应该是320x480。 我想在任何设备(实际)上放置一个300x50的图像在屏幕的底部,所以通常我会得到屏幕的高度和减去图像高度,所以它将它放在一个视图上。但由于某些原因我得到570,我必须向下滚动才能看到图像。为什么它会得到错误的屏幕尺寸,还有另一种更准确的方法来获得尺寸。谢谢

布局代码如下

   linearOut = new LinearLayout(this);
    linear = new LinearLayout(this);
    linear.setOrientation(LinearLayout.VERTICAL);


    scroll = new ScrollView(this);
    linearOut.addView(scroll);
    scroll.addView(linear);

            linear.addView(text);
    linear.addView(bbottom.getViewGroup());

    setContentView(linearOut);

2 个答案:

答案 0 :(得分:1)

试试这个::

Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
    int width = display.getWidth(); 
    int height = display.getHeight();

答案 1 :(得分:0)

我想我明白了。所以上面的信息显示全屏可见。所以这包括状态栏。有没有办法看到状态栏的高度?我不确定所有Android设备是否具有状态栏的相同像素高度。