如何在适合屏幕后获得实际布局尺寸?

时间:2016-12-21 03:15:09

标签: android layout

我需要在屏幕自动调整后获得RelativeLayout的确切宽度。我为布局设置了尺寸,但是在屏幕小于目标尺寸的设备上,会发生自动调整大小并在布局窗口中抛出我的位置计算,因为layout.getWidth()返回xml文件中的宽度而不是实际绘制的宽度。

有谁知道如何获得绘制的宽度?如果没有,有没有办法以像素为单位获得屏幕宽度?

2 个答案:

答案 0 :(得分:0)

如果您需要以像素为单位的显示尺寸,可以使用getSize:

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

如果你没有使用活动,你可以通过WINDOW_SERVICE获得默认显示:

WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();

答案 1 :(得分:0)

**Display Dimension in Pixel**

Display display = getWindowManager().getDefaultDisplay();
Point point = new Point();

display.getSize(point);

int width = point.x;

int height = point.y;

**OutSide From Activity use this code.**

WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();