Android手机分辨率测试程序


Android手机分辨率测试程序可以测试出个人手机设备的分辨率,属于哪种dpi级别,以便开发参考。

main.xml

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent"  
  5.     android:orientation="vertical" >  
  6.       
  7.     <TextView   
  8.         android:id="@+id/screenSize"  
  9.         android:layout_width="fill_parent"  
  10.         android:layout_height="wrap_content"  
  11.         android:text="@string/screenSize"  
  12.         />  
  13.       
  14.     <EditText   
  15.         android:id="@+id/size"  
  16.         android:layout_width="fill_parent"  
  17.         android:layout_height="wrap_content"  
  18.         android:inputType="numberDecimal"  
  19.         />  
  20.     <Button  
  21.         android:id="@+id/submit"  
  22.         android:layout_width="fill_parent"  
  23.         android:layout_height="wrap_content"   
  24.         android:text="@string/submit"  
  25.         />  
  26.     <EditText   
  27.         android:id="@+id/showWidth"  
  28.         android:layout_width="fill_parent"  
  29.         android:layout_height="wrap_content"  
  30.         android:inputType="text"  
  31.         android:editable="false"  
  32.         />  
  33.       
  34.     <EditText  
  35.         android:id="@+id/showDPI"  
  36.         android:layout_width="fill_parent"  
  37.         android:layout_height="wrap_content"  
  38.         android:inputType="text"  
  39.         android:editable="false"  
  40.         />  
  41.       
  42.       
  43.       
  44. </LinearLayout>  
string.xml
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <resources>  
  3.     <string name="hello">Hello World, AndroidDPI!</string>  
  4.     <string name="app_name">AndroidDPI</string>  
  5.     <string name="screenSize">输入该设备的屏幕大小:</string>  
  6.     <string name="submit">确认</string>  
  7. </resources>  
Java代码:
  1. package com.shine.android;  
  2.   
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5. import android.util.DisplayMetrics;  
  6. import android.view.View;  
  7. import android.view.View.OnClickListener;  
  8. import android.widget.Button;  
  9. import android.widget.EditText;  
  10.   
  11. public class AndroidDPI extends Activity {  
  12.     @Override  
  13.     public void onCreate(Bundle savedInstanceState) {  
  14.         super.onCreate(savedInstanceState);  
  15.         setContentView(R.layout.main);  
  16.         final EditText size = (EditText) findViewById(R.id.size);  
  17.         final EditText showWidth = (EditText) findViewById(R.id.showWidth);  
  18.         final EditText showDPI = (EditText) findViewById(R.id.showDPI);  
  19.         Button submit = (Button) findViewById(R.id.submit);  
  20.           
  21.         submit.setOnClickListener(new OnClickListener() {  
  22.             @Override  
  23.             public void onClick(View v) {  
  24.                 if(size.length() == 0){  
  25.                     size.setText("请输入该屏幕的尺寸");  
  26.                 }else {  
  27.                     DisplayMetrics dm = new DisplayMetrics();  
  28.                     getWindowManager().getDefaultDisplay().getMetrics(dm);  
  29.                     int width = dm.widthPixels;  
  30.                     int height =dm.heightPixels;  
  31.                     float sizeInt = Float.parseFloat(size.getText().toString());  
  32.                     showWidth.setText("手机屏幕分辨率为:"+width+"*"+height);  
  33.                     double dpi = Math.sqrt(height*height +width*width)/sizeInt;  
  34.                     String dpiType = "";  
  35.                     if(dpi >320){  
  36.                         dpiType = "属于xhdpi";  
  37.                     }else if(dpi>240){  
  38.                         dpiType = "属于hdpi";  
  39.                     }else if(dpi>160){  
  40.                         dpiType = "属于mdpi";  
  41.                     }else if(dpi>120){  
  42.                         dpiType = "属于ldpi";  
  43.                     }  
  44.                     showDPI.setText("手机DPI是:"+ dpi+ ","+ dpiType);  
  45.                 }  
  46.             }  
  47.         });  
  48.     }  
  49. }  
显示结果:


更多Android相关信息见Android 专题页面 http://www.bkjia.com/topicnews.aspx?tid=11

相关内容