有没有通过编程确定设备使用哪个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. 获取类名称函数的名称