2013-02-25 39 views
22

沒有任何的代碼片段的應用,如何讓屏幕的屏幕分辨率和長度。我怎麼能找到該設備是否是ldpi,mdpi,hdpi或xhdpi?如何找到設備作爲LDPI MDPI華電國際或XHDPI

+0

不,我不想編碼並找到設備類型? – Sreeram 2013-02-25 06:49:08

+0

它的有點晚了,但有在Play商店中的這個應用程序,這將讓你你無需編寫代碼片段,但找什麼遺憾的是該應用程序從谷歌Play商店中移除,但我能夠從我的安裝設備中提取的APK和已經上傳到以下鏈接: https://www.mediafire.com/?2jccjo17mvxgljt 希望這有助於你得到什麼你尋找。 難道要讓如果你想快速參考我知道這是否有助於你還是不 – 2014-03-13 07:22:24

+0

,谷歌提供了一些流行的設備的屏幕細節:https://design.google.com/devices/ – rpattabi 2016-11-25 09:28:30

回答

69

編輯: 使用DisplayMetrics讓屏幕

getResources().getDisplayMetrics().densityDpi; 

這個密度將返回表示以下常量的int值。 DisplayMetrics.DENSITY_LOW ,DisplayMetrics.DENSITY_MEDIUM, DisplayMetrics.DENSITY_HIGH, DisplayMetrics.DENSITY_XHIGH

int density= getResources().getDisplayMetrics().densityDpi; 

switch(density) 
{ 
case DisplayMetrics.DENSITY_LOW: 
    Toast.makeText(context, "LDPI", Toast.LENGTH_SHORT).show(); 
    break; 
case DisplayMetrics.DENSITY_MEDIUM: 
    Toast.makeText(context, "MDPI", Toast.LENGTH_SHORT).show(); 
    break; 
case DisplayMetrics.DENSITY_HIGH: 
    Toast.makeText(context, "HDPI", Toast.LENGTH_SHORT).show(); 
    break; 
case DisplayMetrics.DENSITY_XHIGH: 
    Toast.makeText(context, "XHDPI", Toast.LENGTH_SHORT).show(); 
    break; 
} 

這將返回 根據thsi可以識別設備


試試這個

int screenSize = getResources().getConfiguration().screenLayout & 
     Configuration.SCREENLAYOUT_SIZE_MASK; 

switch(screenSize) { 
    case Configuration.SCREENLAYOUT_SIZE_LARGE: 
     Toast.makeText(this, "Large screen",Toast.LENGTH_LONG).show(); 
     break; 
    case Configuration.SCREENLAYOUT_SIZE_NORMAL: 
     Toast.makeText(this, "Normal screen",Toast.LENGTH_LONG).show(); 
     break; 
    case Configuration.SCREENLAYOUT_SIZE_SMALL: 
     Toast.makeText(this, "Small screen",Toast.LENGTH_LONG).show(); 
     break; 
    default: 
     Toast.makeText(this, "Screen size is neither large, normal or small" , Toast.LENGTH_LONG).show(); 
} 

來源Identifying screen resolutions

+0

這個答案實際上並不回答題。這是問密度,而不是尺寸。 – kabuko 2013-02-25 06:33:16

+1

@SiddharthLele我發現它的,因爲你....感謝 – Pragnani 2013-02-25 06:34:10

+0

@kabuko更新的答案... – Pragnani 2013-02-25 06:40:00

2
DisplayMetrics dm = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(dm); 
int density = dm.densityDpi; 
以下常量

密度變量是DisplayMetrics中對應於不同dpis定義的常量。

+0

我不想代碼 - 看到手機可以嗎?目的:三星S4三月即將上市 - 我想知道密度, – Sreeram 2013-02-25 06:47:26

+2

然後使用谷歌和搜索。然後你問的是錯誤的網站 - 這是一個提出編程問題的網站,而不是關於設備規格的網站。 – 2013-02-25 14:01:12

+0

三星S4是XHDPI – 2013-08-23 18:46:07

相關問題