zoukankan      html  css  js  c++  java
  • android 获取屏幕高度和宽度 的方法

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

    2011-07-12 16:05:06|  分类: android |  标签: |字号 订阅

     
     

       我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸


        下面的代码即可获取屏幕的尺寸。
        在一个Activity的onCreate方法中,写入如下代码:
            DisplayMetrics metric = new DisplayMetrics();
            getWindowManager().getDefaultDisplay().getMetrics(metric);
            int width = metric.widthPixels;     // 屏幕宽度(像素)
            int height = metric.heightPixels;   // 屏幕高度(像素)
            float density = metric.density;      // 屏幕密度(0.75 / 1.0 / 1.5)
            int densityDpi = metric.densityDpi;  // 屏幕密度DPI(120 / 160 / 240)


        但是,需要注意的是,在一个低密度的小屏手机上,仅靠上面的代码是不能获取正确的尺寸的。比如说,一部240x320像素的低密度手机,如果运行上述代码,获取到的屏幕尺寸是320x427。因此,研究之后发现,若没有设定多分辨率支持的话,Android系统会将240x320的低密度(120)尺寸转换为中等密度(160)对应的尺寸,这样的话就大大影响了程序的编码。所以,需要在工程的AndroidManifest.xml文件中,加入supports-screens节点,具体的内容如下:
            <supports-screens
                android:smallScreens="true"
                android:normalScreens="true"
                android:largeScreens="true"
                android:resizeable="true"
                android:anyDensity="true" />
        这样的话,当前的Android程序就支持了多种分辨率,那么就可以得到正确的物理尺寸了。

     

     

    ------------------------------

    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); 
        }
    }

     

    android 获取屏幕高度和宽度 的方法 - 夏天的风 - FreeSimpleHappy

     

     转载:http://longshuai2007.blog.163.com/blog/static/142094414201161235758709/
  • 相关阅读:
    POJ2635-The Embarrassed Cryptographer-大整数素因子
    poj2115-C Looooops -线性同余方程
    POJ1942-Paths On a Grid-组合数学
    poj1850-CODE-组合
    POJ1019-Number Sequence-数数。。
    CF-Contest339-614
    POJ3252-RoundNumbers-排列组合
    睡前小dp-poj3254-状压dp入门
    AC自动机-HDU3065-简单题
    python学习笔记 day32 实现网盘上传下载功能
  • 原文地址:https://www.cnblogs.com/jita/p/3049117.html
Copyright © 2011-2022 走看看