zoukankan      html  css  js  c++  java
  • android 正确获取屏幕像素大小

    相信看到此博客时候,大多人已经看了许多获取屏幕像素的博客,从其他博客我们知道  屏幕的像素是根据DisplayMetrics类来获取的

    具体的计算方法是  width = widthPixels * density;   height = heightPixels * density  (ps: widthPixels  和  heightPixels  ,density   都是从DisplayMetrics中获取的)。

    DisplayMetrics dm = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(dm);
    int widthPixels= dm.widthPixels;
    int heightPixels= dm.heightPixels;
    float density = dm.density;
    int screenWidth = widthPixels * density ;
    int screenHeight = heightPixels * density ;

    在320*480 的phone 上的 到的 widthPixels 值是320, heightPixels  值是480, density 的值是1.0。

    在480*800 的phone 上的到的idthPixels 值是320, heightPixels  值是533, density 的值是1.5。

    注意: 此处DisplayMetrics 不要使用context.getApplicationContext().getResources().getDisplayMetrics();

    我用此方法在nexus one 中测试的时候得到的 density 的值是1.0  ,以至于我得不到正确的480 * 800 的像素。

  • 相关阅读:
    Log4Net的WinForm使用
    Log4Net的控制台,WinForm,WebApplication使用
    C# 正则表达式判断IP,URL等及其解释
    C++:默认的构造函数
    C++:对象声明
    C++:对象的初始化和构造函数
    C++:类的成员函数定义方式
    C++:类的创建
    C++:this指针
    C++:String类
  • 原文地址:https://www.cnblogs.com/xyzlmn/p/3168209.html
Copyright © 2011-2022 走看看