Android手机分辨率测试程序

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

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent"
	android:orientation="vertical" >
	
	<TextView 
		android:id="@+id/screenSize"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:text="@string/screenSize"
		/>
	
	<EditText 
		android:id="@+id/size"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:inputType="numberDecimal"
		/>
	<Button
		android:id="@+id/submit"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content" 
		android:text="@string/submit"
		/>
	<EditText 
		android:id="@+id/showWidth"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:inputType="text"
		android:editable="false"
		/>
	
	<EditText
		android:id="@+id/showDPI"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:inputType="text"
		android:editable="false"
		/>
	
	
	
</LinearLayout>

string.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
	<string name="hello">Hello World, AndroidDPI!</string>
	<string name="app_name">AndroidDPI</string>
	<string name="screenSize">输入该设备的屏幕大小:</string>
	<string name="submit">确认</string>
</resources>

Java代码:

package com.shine.android;

import android.app.Activity;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class AndroidDPI extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        final EditText size = (EditText) findViewById(R.id.size);
        final EditText showWidth = (EditText) findViewById(R.id.showWidth);
        final EditText showDPI = (EditText) findViewById(R.id.showDPI);
        Button submit = (Button) findViewById(R.id.submit);
        
        submit.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				if(size.length() == 0){
					size.setText("请输入该屏幕的尺寸");
				}else {
					DisplayMetrics dm = new DisplayMetrics();
					getWindowManager().getDefaultDisplay().getMetrics(dm);
					int width = dm.widthPixels;
					int height =dm.heightPixels;
					float sizeInt = Float.parseFloat(size.getText().toString());
					showWidth.setText("手机屏幕分辨率为:"+width+"*"+height);
					double dpi = Math.sqrt(height*height +width*width)/sizeInt;
					String dpiType = "";
					if(dpi >320){
						dpiType = "属于xhdpi";
					}else if(dpi>240){
						dpiType = "属于hdpi";
					}else if(dpi>160){
						dpiType = "属于mdpi";
					}else if(dpi>120){
						dpiType = "属于ldpi";
					}
					showDPI.setText("手机DPI是:"+ dpi+ ","+ dpiType);
				}
			}
		});
    }
}
显示结果:



  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值