android上準確獲取螢幕尺寸的方法

2021-09-30 09:05:16 字數 1092 閱讀 1932

k歌之王: 考慮到android手機螢幕尺寸大小不一, 程式適配顯得很重要。 特意轉一篇網上的文章。 

有些時候,我們需要獲取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節點,具體的內容如下:

android:smallscreens="true"

android:normalscreens="true"

android:largescreens="true"

android:resizeable="true"

android:anydensity="true" />

這樣的話,當前的android程式就支援了多種解析度,那麼就可以得到正確的物理尺寸了。

android上準確獲取螢幕尺寸的方法

k歌之王 考慮到android手機螢幕尺寸大小不一,程式適配顯得很重要。特意轉一篇網上的文章。有些時候,我們需要獲取android手機或pad的螢幕的物理尺寸,以便於介面的設計或是其他功能的實現。下面就介紹講一講如何獲取螢幕的物理尺寸 從網上找過不少資料,發現獲取螢幕尺寸並不是很複雜的程式設計操作,...

螢幕全屏後獲取螢幕準確尺寸

今天ui又提了乙個需求,吐槽一下,平時都是pm給提的需求,到這家公司變成ui,pm都提需求了。首先是動畫,記錄一下 public void startanim override public void onanimationstart animation animation override pub...

Android使用什麼的方法來獲取螢幕尺寸

在學習程式設計的過程中,我覺得不止要獲得課本的知識,更多的是解決問題的方法,面對新問題該怎麼解決,這樣我們才能走在最前方,我是達內的學員,感謝你對本部落格的支援 這個問題並不複雜,但是問的人實在很多,所以還是集中回答一下。從android 3.2 api level 13 開始,在activity裡...