如何在安卓中获取设备的最大宽度和高度

7

你好,我在创建Android应用程序的自定义视图时遇到了问题。我的自定义视图想要使用尽可能多的屏幕宽度,但我无法找到检索此值的方法。

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

4个回答

15

尝试一下

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

其中上下文是Context实例。

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


2

这里有一个好的答案:

mWinMgr.getDefaultDisplay().getWidth();// getWidth() 和 getHeight() 方法现在已经过时了

你可以按照以下方式获取宽度和高度: 原始链接

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

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

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

设备宽度 = (dm.widthPixels ) ;


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接