Android中如何获取手机屏幕大小


     我们可以通过使用类DisplayMetrics来获取手机屏幕的分辨率大小。DisplayMetrics类是获取手机屏幕各种属性的关键类。下面通过例子来展示如何获取手机屏幕的分辨率。

      在布局文件main.xml中添加一个TextView对象,一个Button对象。其中TextView对象用来显示获得的分辨率值,Button对象是当点击时获取分辨率。main.xml的代码如下:

  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <LinearLayout xmlns:Android="http://schemas.android.com/apk/res/android"  
  3.     android:orientation="vertical"  
  4.     android:layout_width="fill_parent"  
  5.     android:layout_height="fill_parent"  
  6.     >   
  7.    <TextView    
  8.       android:id="@+id/tv"    
  9.       android:layout_width="fill_parent"    
  10.       android:layout_height="wrap_content"    
  11.       android:text="手机分辨率为:"/>   
  12.     <Button   
  13.        android:id="@+id/btnOK"  
  14.        android:layout_width="fill_parent"  
  15.        android:layout_height="wrap_content"  
  16.        android:text="获取手机分辨率"/>   
  17. </LinearLayout>  

        在TestActivity中的代码如下:

 

  1. public class TestActivity extends Activity {   
  2.            
  3.     private TextView tv;   
  4.     private Button btn;   
  5.        
  6.     //获取手机屏幕分辨率的类   
  7.      private DisplayMetrics dm;   
  8.        
  9.     public void onCreate(Bundle savedInstanceState) {   
  10.         super.onCreate(savedInstanceState);   
  11.         setContentView(R.layout.main);    
  12.            
  13.         tv = (TextView)findViewById(R.id.tv);   
  14.         btn = (Button)findViewById(R.id.btnOK);   
  15.         btn.setOnClickListener(new View.OnClickListener() {   
  16.                
  17.           public void onClick(View v) {   
  18.               dm = new DisplayMetrics();   
  19.           getWindowManager().getDefaultDisplay().getMetrics(dm);   
  20.                   //获得手机的宽度和高度像素单位为px   
  21.           String strPM = "手机屏幕分辨率为:" + dm.widthPixels+"* "+dm.heightPixels;   
  22.           tv.setText(strPM);   
  23.             }   
  24.         });   
  25.     }   
  26.     
  27. }  

       运行程序后,当我们点击Button按钮时,可以看到下面的效果图:

相关内容