Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
screen_width = display.getWidth();
screen_height = display.getHeight();
据我所知,上面的代码可以让我获得屏幕宽度和高度。我把这段代码放在" onCreate" " MainActivity"。
但是我朋友的移动设备无法显示所需的布局。然而,我在他的移动设备上调试太麻烦了。因此,我期待在这里提供帮助。
我的问题是......
在" onCreate"中获取宽度和高度是否正确? 获取所有设备的宽度和高度是否有用? (当然,API> = 11)
答案 0 :(得分:0)
是的,在onCreate()方法中获取屏幕高度和宽度是正确的,因为如果屏幕旋转,那么将调用onCreate。并且你不应该采取屏幕高度&如果需要宽度可以,否则你也可以在Xml中管理它。要获得屏幕高度和宽度,我认为这是最好的方式...
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int height = displaymetrics.heightPixels;
int width = displaymetrics.widthPixels;
有关详细信息,您也可以使用此链接 http://developer.android.com/reference/android/view/Display.html
答案 1 :(得分:0)
您可以尝试使用指标:
DisplayMetrics metrics = Resources.getSystem().getDisplayMetrics();
int displayHeight = metrics.heightPixels;
int displayWidth = metrics.widthPixels;
在onCreate中这样做应该没问题 但老实说,我不认为你的高度和宽度确实不对。屏幕尺寸可能与您的测试设备非常不同。 您需要至少调试一次手机才能找出问题所在 在我看来,获得宽度和高度是一个很好的方法,因为它可以让你获得更多的控制。大多数布局都可以通过使用适当的布局来完成(例如,带有重量的LinearLayouts),但是有些情况下手动操作会更好。你可以更准确地做事,但这将是更多的工作 此外,如果您没有多种设备进行测试,则很难正确调整。想想Android世界可以面对的所有不同尺寸。例如,我对非常小的设备有一些问题,比如Galaxy Mini。平板电脑等非常大的设备可能也是个问题。如果您想手动执行此操作,则无法测试边框。