我們需要獲取android手機或pad的螢幕的物理尺寸,以便於介面的設計或是其他功能的實現。下面就介紹講一講如何獲取螢幕的物理尺寸
下面的**即可獲取螢幕的尺寸。
在乙個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)
但是,需要注意的是,在乙個低密度的小屏手機上,僅靠上面的**是不能獲取正確的尺寸的。比如說,一部240x320畫素的低密度手機,如果執行上述**,獲取到的螢幕尺寸是320x427。因此,研究之後發現,若沒有設定多解析度支援的話,android系統會將240x320的低密度(120)尺寸轉換為中等密度(160)對應的尺寸,這樣的話就大大影響了程式的編碼。所以,需要在工程的androidmanifest.xml檔案中,加入supports-screens節點,具體的內容如下:
import android.os.bundle;
import android.util.displaymetrics;
import android.widget.textview;
public
class
textcanvasactivity
extends
activity
}
android 獲取螢幕寬高
發現專案中有兩種獲取螢幕寬高的方法 一 通過windowmanager獲取display,通過display獲取metrics,通過metrics獲取寬高。最後的單位是px。public static final int getscreenwidth 二 通過windowmanager獲取displ...
Android獲取螢幕寬高
方法一 windowmanager wm1 this.getwindowmanager int width1 wm1.getdefaultdisplay getwidth int height1 wm1.getdefaultdisplay getheight 方法二 windowmanager wm...
Android獲取螢幕寬度高度
方法一 windowmanager wm windowmanager this getsystemservice context.window service int width wm.getdefaultdisplay getwidth int height wm.getdefaultdispla...