扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
可以通过使用类DisplayMetrics来获取手机屏幕的分辨率大小。DisplayMetrics类是获取手机屏幕各种属性的关键类。下面通过例子来展示如何获取手机屏幕的分辨率。
成都创新互联专业为企业提供共青城网站建设、共青城做网站、共青城网站设计、共青城网站制作等企业网站建设、网页设计与制作、共青城企业网站模板建站服务,10余年共青城做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
在布局文件main.xml中添加一个TextView对象,一个Button对象。其中TextView对象用来显示获得的分辨率值,Button对象是当点击时获取分辨率。main.xml的代码如下:
?xml version="1.0" encoding="utf-8"?
LinearLayout xmlns:android=""
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
TextView
android:id="@+id/tv"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="手机分辨率为:"/
Button
android:id="@+id/btnOK"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="获取手机分辨率"/
/LinearLayout
在TestActivity中的代码如下:
public class TestActivity extends Activity {
private TextView tv;
private Button btn;
//获取手机屏幕分辨率的类
private DisplayMetrics dm;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView)findViewById(R.id.tv);
btn = (Button)findViewById(R.id.btnOK);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
//获得手机的宽度和高度像素单位为px
String strPM = "手机屏幕分辨率为:" + dm.widthPixels+"* "+dm.heightPixels;
tv.setText(strPM);
}
});
}
}
下面的代码即可获取屏幕的尺寸: 在一个Activity的onCreate方法中,编写以下代码:
DisplayMetrics metric = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metric); int width = metric.widthPixels; // 宽度(PX) int height = metric.heightPixels; // 高度(PX) float density = metric.density; // 密度(0.75 / 1.0 / 1.5) int densityDpi = metric.densityDpi; // 密度DPI(120 / 160 / 240)
需要注意的是,在一个低密度的小屏手机上,仅靠上面的代码是不能获取正确的尺寸的。
所以,需要在工程的AndroidManifest.xml文件中,加入supports-screens节点,如下:
这样当前的Android程序就支持了多种分辨率,那么就可以得到正确的物理尺寸了。
在一个Activity的onCreate方法中,写入如下代码:DisplayMetrics metric = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(metric);int width = metric.widthPixels; // 屏幕宽度(像素)int height = metric.heightPixels; // 屏幕高度(像素)float density = metric.density; // 屏幕密度(0.75 / 1.0 / 1.5)int densityDpi = metric.densityDpi; // 屏幕密度DPI(120 / 160 / 240) AndroidManifest.xml文件中,加入supports-screens节点,具体的内容如下:supports-screensandroid:smallScreens="true"android:normalScreens="true"android:largeScreens="true"android:resizeable="true"android:anyDensity="true" /这样的话,当前的Android程序就支持了多种分辨率,那么就可以得到正确的物理尺寸了。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流