Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用Android服务获取正确的屏幕大小_Android_Fullscreen - Fatal编程技术网

无法使用Android服务获取正确的屏幕大小

无法使用Android服务获取正确的屏幕大小,android,fullscreen,Android,Fullscreen,所以我试图在我的应用程序上获得Moto Droid的屏幕大小。在创建时,我使用服务windowManager获得默认显示 Display display = getWindowManager().getDefaultDisplay(); int width = display.getWidth(); int height = display.getHeight(); 当我设置它时,我得到了320的宽度和570的高度。看起来不对,应该是320x480。 我想在任何设备的屏幕底部

所以我试图在我的应用程序上获得Moto Droid的屏幕大小。在创建时,我使用服务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);
试试这个:

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

我想我明白了。因此,上面的信息显示全屏可见。因此,这确实包括状态栏。有没有办法查看状态栏的高度?我不确定是否所有android设备的状态栏都有相同的像素高度。

thanx对于快速响应,不幸的是,我仍然获得相同的分辨率。这个570包括状态栏吗?我有实际的设备。是的,所以我假设它包括了状态栏的高度,这就是为什么我的图像位置是关闭的。你知道获取状态栏高度的方法吗?是的。。。