该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

在开发手机的应用程序时,除了底层对API的掌握之外,屏幕分辨率的概念也是相当的重要的,而且在当今,各家手机生产厂商的手机屏幕都大同小异(不过,也就几种),user UI接口呈现及布局自然也各异!

下面介绍的DisplayMetrics类的对象记录了一些常用的信息,包含了显示信息,大小,维度,字体等;顺便说下,DisplayMetrics 对 象里的widthPixel及heightPixels字段为整数类型,在以下的程序中,并没有对字符串类型做转换,所以strOpt为字符串

程序代码:

package com.allove;

import android.app.Activity;

import android.os.Bundle;

import android.util.DisplayMetrics;

import android.widget.TextView;

public class Test extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

TextView myTextView=(TextView) this.findViewById(R.id.TextView01);

DisplayMetrics dm=new DisplayMetrics();

this.getWindowManager().getDefaultDisplay().getMetrics(dm);

String strOpt="手机屏幕分辨率为:"+dm.widthPixels+"x"+dm.heightPixels;

myTextView.setText(strOpt);

}

}

Android 可设置为随着窗口大小调整缩放比例,但即便如此,手机程序设计人员还是必须知道手机屏幕的边界,以避免缩放造成的布局变形问题。

手机的分辨率信息是手机的一项重要信息,很好的是,Android 已经提供DisplayMetircs 类可以很方便的获取分辨率。下面简要介绍 DisplayMetics 类:

Andorid.util 包下的DisplayMetrics 类提供了一种关于显示的通用信息,如显示大小,分辨率和字体。

为了获取DisplayMetrics 成员,首先初始化一个对象如下:

DisplayMetrics metrics = new DisplayMetrics();

getWindowManager().getDefaultDisplay().getMetrics(metrics);

注:构造函数DisplayMetrics 不需要传递任何参数;调用getWindowManager() 之后,会取得现有Activity 的Handle ,此时,getDefaultDisplay() 方法将取得的宽高维度存放于DisplayMetrics 对象中,而取得的宽高维度是以像素为单位(Pixel) ,“像素”所指的是“绝对像素”而非“相对像素”。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐