当前位置: 首页 > 知识库问答 >
问题:

在Android中获取屏幕尺寸[重复]

邹胜泫
2023-03-14

因为有两种方法可以获得尺寸。从13级以上的API来看,这种方法对我很有效

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

14岁以下,这种方法对我有效

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth();  // deprecated
int height = display.getHeight();  // deprecated

我可以得到所有API级别的屏幕大小吗???请帮帮我。

共有3个答案

吕森
2023-03-14

要支持所有版本的android,请使用以下代码

int Measuredwidth = 0;
int Measuredheight = 0;
Point size = new Point();
WindowManager w = getWindowManager();

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2){
    w.getDefaultDisplay().getSize(size);
    Measuredwidth = size.x;
    Measuredheight = size.y; 
}else{
    Display d = w.getDefaultDisplay(); 
    Measuredwidth = d.getWidth(); 
    Measuredheight = d.getHeight(); 
}
钱星华
2023-03-14
public void ScreenSize()
{
 int Measuredwidth = 0;
    int Measuredheight = 0;
    Point size = new Point();
    WindowManager w = getWindowManager();

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2)
    {
        w.getDefaultDisplay().getSize(size);

        Measuredwidth = size.x;
        Measuredheight = size.y;
    }
    else
    {
        Display d = w.getDefaultDisplay();
        Measuredwidth = d.getWidth();
        Measuredheight = d.getHeight();
    }
}
岳意蕴
2023-03-14

跟这哥们试试

int density;
    private DisplayMetrics metrics;
    private int widthPixels;
    private float scaleFactor;
    private float widthDp;
private DisplayMetrics metrics;
          metrics = new DisplayMetrics();
     getActivity().getWindowManager().getDefaultDisplay().getMetrics(metrics);

     density= getResources().getDisplayMetrics().densityDpi;

     widthPixels = metrics.widthPixels;

     scaleFactor = metrics.density;

     widthDp = widthPixels / scaleFactor;
 类似资料:
  • 问题内容: 我想通过c获取屏幕尺寸。我知道jni支持从c调用Java。但是有人知道另一种方法吗?我的意思是从低级模块获取屏幕大小,而无需调用Java。 我认为/ dev / graphics与我的问题有关 问题答案: 是的,您可以从/ dev / graphics / fb0获得屏幕分辨率,但是(至少在我的手机上)读取权限仅限于root用户和“ graphics”组中的用户。无论如何,您可以执行以

  • 问题内容: 我想知道是否可以使用tkinter计算屏幕尺寸。 我想要这样做,这样可以使程序在屏幕中央打开。 问题答案:

  • 问题内容: 我已经仔细阅读了http://developer.android.com/guide/practices/screens_support.html和其他相关网站中的文档,但我仍然对此表示怀疑。让我解释: 我已经为值,values-large和values- xlarge实现了dimens.xml,因此,例如,在平板电脑上运行时,我的Android应用程序很好。但是,我指定了填充,边距,

  • 问题内容: 嗨,我正在编写图形程序,我一直在寻找一种获取所使用屏幕物理尺寸的方法。我可以获得以像素为单位的屏幕大小以及逻辑分辨率。我似乎找不到任何地方可以获取任何显示器规格中始终具有的物理尺寸(例如19“-376 x 301 mm)。问题是,加载此信息时,此信息是否甚至还存储在OS中的任何位置?我正在编写的程序需要在Mac和Windows上运行。 谢谢! nt 问题答案: 我认为Java不可能实现

  • 问题内容: 我想获得有效的屏幕尺寸。也就是说:没有任务栏的屏幕大小(或Linux / Mac上的等效屏幕)。 我目前正在使用… …并减去默认的任务栏大小,具体取决于操作系统,但是即使用户调整了大小/移动了任务栏的大小,我也希望这种方法可以工作。 问题答案: 这可以确定没有任务栏的屏幕大小(以像素为单位) 编辑 有人可以在Xx_nix和Mac OSX上运行此代码,并检查JDialog是否确实位于右下

  • 问题内容: 无论屏幕大小如何,我都想使用Swift代码在我的应用程序中正确定位项目。例如,如果我希望按钮的宽度为屏幕宽度的75%,则可以做为按钮的宽度。我发现可以通过在Objective-C中确定 不幸的是,我不确定如何将其转换为Swift。有人有主意吗? 谢谢! 问题答案: 在Swift 3.0中 快点做:做这样的事情: 那么您可以像这样访问宽度和高度: 如果您想要屏幕宽度的75%,则可以执行以