該樓層疑似違規已被系統折疊 隐藏此樓檢視此樓
在開發手機的應用程式時,除了底層對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 {
@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) ,“像素”所指的是“絕對像素”而非“相對像素”。