如何在android中获得设备的最大宽度和高度

时间:2009-09-16 03:48:11

标签: android view

您好我在为Android应用程序创建自定义视图时遇到问题。如果允许最大屏幕宽度,我的自定义视图要使用。我找不到任何方法来检索这个值。

有人能指出我正确的方法吗?

4 个答案:

答案 0 :(得分:15)

尝试

mWinMgr = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE);
int displayWidth = mWinMgr.getDefaultDisplay().getWidth();

其中context是Context instance。

默认情况下,保留布局的FrameLayout会水平填充整个显示(垂直方向可以显示状态栏)。因此,您可以正确使用android:layout_width="fill_parent"来设置最大可能宽度。

答案 1 :(得分:2)

这是good answer

mWinMgr.getDefaultDisplay().getWidth(); //现在不推荐使用getWidth()和getHeight()方法

您可以按如下方式获得宽度和高度: original

Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;

答案 2 :(得分:1)

  DisplayMetrics size = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(size );
        int w = size .widthPixels;
        int h = size .heightPixels;

答案 3 :(得分:1)

WindowManager window = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics dm = new DisplayMetrics();
window.getDefaultDisplay().getMetrics(dm);          

devicewidth =(dm.widthPixels);