DisplayMetrics是一个对显示的结构化表述。他继承了object,初始化DisplayMetrics如下:
DisplayMetrics metrics = new DisplayMetrics();
XML文件:
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
具体代码:
package com.example.testdisplaymetrics;
import android.os.Bundle;
import android.app.Activity;
import android.util.DisplayMetrics;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
final Button button1 ;
final EditText editText1;
final EditText editText2;
editText1 = (EditText)this.findViewById(R.id.et1);
editText2 = (EditText)this.findViewById(R.id.et2);
button1 = (Button)this.findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
//editText1.setText(displayMetrics.heightPixels+"");//高
//editText2.setText(displayMetrics.widthPixels+"");//宽
//editText1.setText(displayMetrics.density+"");//显示器的逻辑密度
//editText1.setText(displayMetrics.densityDpi+"");//屏幕密度为点每英寸
//editText1.setText(displayMetrics.scaledDensity+"");//显示在显示器的字体的定标因子
//editText1.setText(displayMetrics.xdpi+"");//每在X维屏幕英寸的确切物理像素
//editText1.setText(displayMetrics.ydpi+"");//每在Y维屏幕英寸的确切物理像素。
//editText1.setText(displayMetrics.DENSITY_DEFAULT+"");//在屏幕中显示的参考密度
}
});
}
}
XML文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button1"
android:text="手机分辨率信息"></Button>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="分辨率X"></TextView>
<EditText
android:id="@+id/et1"
android:layout_width="75dip"
android:layout_height="wrap_content"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="分辨率Y" />
<EditText
android:id="@+id/et2"
android:layout_width="75dip"
android:layout_height="wrap_content">
</EditText>
</LinearLayout>
</LinearLayout>