您的位置:首页 > 移动开发 > Android开发

Android 获取屏幕高度和宽度 的方法

2017-04-09 18:27 429 查看
 下面的代码即可获取屏幕的尺寸。
    在一个Activity的onCreate方法中,写入如下代码:

DisplayMetrics metric = new DisplayMetrics();  

getWindowManager().getDefaultDisplay().getMetrics(metric);  

int width = metric.widthPixels;     // 屏幕宽度(像素)  

int height = metric.heightPixels;   // 屏幕高度(像素)  

float density = metric.density;      // 屏幕密度  

int densityDpi = metric.densityDpi;  // 屏幕密度DPI  

在一个低密度的小屏手机上,仅靠上面的代码是不能获取正确的尺寸的。所以,需要在工程的AndroidManifest.xml文件中,加入supports-screens节点,具体的内容如下:

<supports-screens  

    android:smallScreens="true"  

    android:normalScreens="true"  

    android:largeScreens="true"  

    android:resizeable="true"  

    android:anyDensity="true" /> 

import android.app.Activity;  

import android.os.Bundle;  

import android.util.DisplayMetrics;  

import android.widget.TextView;  

public class TextCanvasActivity extends Activity {  

    public void onCreate(Bundle savedInstanceState) {  

        super.onCreate(savedInstanceState);  

        //setContentView(new MyView(this));  

            

    //定义DisplayMetrics 对象    

      setContentView(R.layout.main);    

      DisplayMetrics  dm = new DisplayMetrics();    

      //取得窗口属性    

      getWindowManager().getDefaultDisplay().getMetrics(dm);    

         

      //窗口的宽度    

      int screenWidth = dm.widthPixels;    

         

      //窗口高度    

      int screenHeight = dm.heightPixels;           

     TextView textView = (TextView)findViewById(R.id.tv1);           

      textView.setText("屏幕宽度: " + screenWidth + "\n屏幕高度: " + screenHeight);   

    }  

}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: