Android中如何获取屏幕的分辨率?

Posted kaolagirl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android中如何获取屏幕的分辨率?相关的知识,希望对你有一定的参考价值。

一.概念

手机屏幕图像的显示都是由一个个的小点组成的,这一个个的小点就称之为像素。 一块方形的屏幕横向有多少个点,竖向有多少个点,相乘之后的数值就是这块屏幕的像素(数码相机的像素也是这么乘积出来的)。但是为了方便表示屏幕的大小,通常用横向像素×竖向像素的方式来表示。

二.如何获取
1.在activity中

方法一:

     DisplayMetrics dm = getResources().getDisplayMetrics();
     int screenWidth = dm.widthPixels;
     int screenHeight = dm.heightPixels;

方法二:

     DisplayMetrics dm = new DisplayMetrics();
     this.getWindowManager().getDefaultDisplay().getMetrics(dm);
     int screenWidth = dm.widthPixels;
     int screenHeight = dm.heightPixels;
2.在非activity中,传一个Context进来调用

方法一:

    public void getWindowPixels(Context c)  
         myContext = c;
         DisplayMetrics dm = c.getResources().getDisplayMetrics();
         int screenWidth = dm.widthPixels;
         int screenHeight = dm.heightPixels;
    

方法二:

public class ToolUtils 
          public static int getWindowWidth(Context context)
                // 获取屏幕宽度
                WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
                DisplayMetrics dm = new DisplayMetrics();
                wm.getDefaultDisplay().getMetrics(dm);
                int mScreenWidth = dm.widthPixels;
                return mScreenWidth;
         
         public static int getWindowHeigh(Context context)
                // 获取屏幕高度
                WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
                DisplayMetrics dm = new DisplayMetrics();
                wm.getDefaultDisplay().getMetrics(dm);
                int mScreenHeigh = dm.heightPixels;
                return mScreenHeigh;
         

以上是关于Android中如何获取屏幕的分辨率?的主要内容,如果未能解决你的问题,请参考以下文章

Android NDK:如何在本机二进制文件中获取屏幕分辨率?

android获取屏幕的分辨率方法有几种

获取android手机的屏幕分辨率 android开发

Android 获取屏幕分辨率

Android 丨 获取屏幕尺寸与密度

如何在 Android 中针对各种屏幕分辨率在固定位置显示控件?