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

取得手机屏幕大小

2011-11-10 14:07 169 查看
取得手机屏幕大小
DisplayMetrics取得画面宽高的方法

范例说明

在开发手机应用程序时,除了底层对API的掌握度之外,最重要的仍是对屏幕分辨率的概念,因各家手机厂商所采用的屏幕尺寸不同,

user UI接口呈现及布局自然也各异。

尽管Android可设置为随着窗口大小调整缩放比例,但即便如此,

手机程序设计人员还是必须知道手机屏幕的边界,以避免缩放造成的布局(Layout)变形问题。这个范例非常的简短,只

需几行程序即可取得手机的分辨率,当中的关键则是DisplayMetrics类的应用。

android.util底下的DisplayMetrics对象,记录了一些常用的信息,包含了显示信息、大小、维度、字体等等;

在使用时,请记得引用android.util.DisplayMetrics。

值得一提的是DisplayMetrics对象里的widthPixels及heightPixels字段为整数类型,

在以下的程序当中,并没有对其作字符串类型的转换,因为字符串连接运算符的缘故,所以输出strOpt为字符串。
package irdc.ex03_05; 
import android.app.Activity; 
import android.os.Bundle;  
import android.util.DisplayMetrics;  
import android.widget.TextView;   
public class EX03_05 extends Activity  

{    private TextView mTextView01;        

  /** Called when the activity is first created. */   

  @Override   public void onCreate(Bundle savedInstanceState)    

  {      

   super.onCreate(savedInstanceState);      

   setContentView(R.layout.main);            

   /* 必须引用 android.util.DisplayMetrics */     
   DisplayMetrics dm = new DisplayMetrics();      

   getWindowManager().getDefaultDisplay().getMetrics(dm);            
   String strOpt = "手机屏幕分辨率为:" +              

   dm.widthPixels + " × " + dm.heightPixels;            
   mTextView01 = (TextView) findViewById(R.id.myTextView01);      
   mTextView01.setText(strOpt);    
  }  

扩展学习
 程序一开始所创建的DisplayMetrics对象(程序中的dm),不需要传递任何参数(构造时),

 但在调用getWindowManager()之后,会取得现有的Activity的窗口句柄,

 此时,调用getDefaultDisplay方法将取得的宽高维度存放于DisplayMetrics对象dm中,

 而取得的宽高维度是以像素为单位(Pixel),"像素"所指的是"绝对像素"而非"相对像素"。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息