2012-09-10 54 views
0

我試圖以編程方式獲取啓動器的圖標大小。它在設備之間有所不同我沒有預先設置資產,我正在創建它們。以編程方式獲取啓動器的圖標大小

我能以某種方式查詢特定發射器的正確圖標尺寸嗎?

+0

如果您正在創建資產,那麼您是否可以簡單地引用該資產並僅執行getWidth/Height? – RyanInBinary

回答

1
DisplayMetrics metrics = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(metrics); 
switch(metrics.densityDpi){ 
    case DisplayMetrics.DENSITY_LOW: 
       break; 
    case DisplayMetrics.DENSITY_MEDIUM: 
       break; 
    case DisplayMetrics.DENSITY_HIGH: 
       break; 
} 

獲得密度後...你就會知道哪些啓動器圖標的使用和它們的尺寸。

+1

不幸的是,這對於nexus來說是錯誤的10.它使用xxhdpi啓動器圖標,但它是一個xdpi設備。 –

1

http://developer.android.com/guide/practices/ui_guidelines/icon_design_launcher.html

LDPI(120 dpi)的36×36像素
MDPI(160 dpi)的48×48像素
HDPI(240 dpi)的72 X 72 PX
xhdpi(320 dpi)的96×96 PX

+0

以編程方式,我怎麼知道我的屏幕是哪個密度? – Guy

+0

比例總是屏蔽/(10/3)? – Guy

+0

DisplayMetrics dm = new DisplayMetrics(); 。getWindowManager()getDefaultDisplay()getMetrics(DM)。你的densitiy是dm.density(很長) – rfellons

相關問題