有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java获取活动的宽度和高度,而不是物理屏幕

在谷歌搜索得到屏幕的宽度和高度后,我遇到了下面的代码,但这似乎得到了实际的宽度和高度,这使得我生成的矩形超出了范围

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

我也尝试了下面的代码,但我仍然面临同样的问题,我认为这些不是获得活动宽度和高度的正确方法。是否有人能提供实现此目的的方法(获取用户当前活动的宽度和高度)

int width = getApplicationContext().getResources().getDisplayMetrics().widthPixels - con;
int height = getApplicationContext().getResources().getDisplayMetrics().heightPixels - con1;

共 (3) 个答案

  1. # 1 楼答案

    答案是in the documentation

    Point screenSize = new Point();
    getActivity().getWindowManager().getDefaultDisplay().getSize(screenSize);
    
  2. # 2 楼答案

    试试这个。这对我有用

    DisplayMetrics metrics = this.getResources().getDisplayMetrics();
    int width = metrics.widthPixels;
    int height = metrics.heightPixels;
    
    you need to pass context if you are using it outside activity.
    Replace "this" with your context.
    
  3. # 3 楼答案

    您需要活动装饰视图的宽度和高度

    int width = getWindow().getDecorView().getWidth();
    int height = getWindow().getDecorView().getHeight();