有沒有通過編程確定設備使用哪個drawable-dpi目錄的方法?Android:以編程方式獲取可繪製的名稱 - 名稱
0
A
回答
1
都會響起的DisplayMetrics
我寫這顯示當前使用的繪製目錄的名稱設備:
private String getDisplayDirectory() {
String prefix = "drawable";
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
if (metrics.densityDpi == DisplayMetrics.DENSITY_LOW)
return prefix+"-ldpi";
if (metrics.densityDpi == DisplayMetrics.DENSITY_MEDIUM)
return prefix+"-mdpi";
if (metrics.densityDpi == DisplayMetrics.DENSITY_TV)
return prefix+"-tv";
if (metrics.densityDpi == DisplayMetrics.DENSITY_HIGH)
return prefix+"-hdpi";
if (metrics.densityDpi == DisplayMetrics.DENSITY_XHIGH)
return prefix+"-xhdpi";
if (metrics.densityDpi == DisplayMetrics.DENSITY_XXHIGH)
return prefix+"-xxhdpi";
if (metrics.densityDpi == DisplayMetrics.DENSITY_XXXHIGH)
return prefix+"-xxxhdpi";
return prefix;
}
1
您應該可以使用修改的DisplayMetrics
對象創建Resources
對象,如this question about localization所示。
重讀你的問題,如果你只希望得到屏幕的類型,而不是Ressources本身,你可以填寫使用getWindowManager().getDefaultDisplay().getMetrics(metrics);
您DisplayMetrics
對象如圖所示的連接例子,然後評估density
實例變量。
0
您可以使用DisplayMetrics來確定。
DisplayMetrics metrics = getResources().getDisplayMetrics()
switch (metrics.densityDpi) {
case DisplayMetrics.DENSITY_HIGH: {
// Do your stuff if density is high
break;
}
case DisplayMetrics.DENSITY_MEDIUM: {
// Do your stuff if density is medium
break;
}
...
}
另外,您還可以使用以下方法來獲得指標:
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
相關問題
- 1. 以編程方式獲取接口的驅動程序名稱
- 2. 如何以編程方式獲取應用程序的名稱?
- 3. 以編程方式獲取給定進程名稱和ppid
- 4. 獲取SASApp服務器的名稱(以編程方式)
- 5. Android:如何獲取可繪製的圖像名稱
- 6. 編程方式獲得流名稱
- 7. 以編程方式綁定名稱ItemsControl
- 8. 如何以編程方式獲取會話cookie名稱?
- 9. 以編程方式獲取綁定名稱
- 10. AngularJS:以編程方式獲取注入實體名稱
- 11. 如何以編程方式獲取Gradle模塊名稱
- 12. 以編程方式獲取模塊名稱
- 13. 以編程方式獲取友好端口名稱
- 14. 如何以編程方式獲取應用組名稱?
- 15. 如何以編程方式獲取Drupal模塊名稱?
- 16. 引用名稱可繪製
- 17. 如何以編程方式從Android獲取設備名稱(不是Build.MODEL)?
- 18. BCEL - 獲取類名稱,元素名稱和方法名稱
- 19. 是否有可能以編程方式獲取iPhone名稱訂單首選項?
- 20. 如何以編程方式獲取log4net日誌文件的名稱模式?
- 21. 以編程方式在Android中更改設備名稱
- 22. 以編程方式綁定ComboBox(s)通過控制名稱
- 23. 如何以編程方式獲取APK的應用程序名稱(未安裝)
- 24. 以編程方式獲取OSX中應用程序文件夾的名稱
- 25. 如何以編程方式通過名稱獲得Angular服務
- 26. 如何獲取可繪製圖片的照片名稱?
- 27. 獲取國家名稱android
- 28. 獲取控制器名稱
- 29. 從會話工廠以編程方式獲取休眠默認模式名稱?
- 30. 獲取類名稱函數的名稱