如何在android中以编程方式获取屏幕密度?
我的意思是:如何找到当前设备的屏幕dpi?
原文由 Praveen 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何在android中以编程方式获取屏幕密度?
我的意思是:如何找到当前设备的屏幕dpi?
原文由 Praveen 发布,翻译遵循 CC BY-SA 4.0 许可协议
LocalContext.current.resources.displayMetrics.density
得到密度乘数。
原文由 Pomme2Poule 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答888 阅读✓ 已解决
2 回答2.1k 阅读
2 回答991 阅读✓ 已解决
1 回答777 阅读✓ 已解决
2 回答893 阅读
2 回答828 阅读
1 回答768 阅读
您可以从 DisplayMetrics 结构中获取有关显示的信息:
尽管 Android 不使用直接像素映射,但它使用了一些量化的密度独立像素值,然后缩放到实际的屏幕尺寸。 So the
metrics.densityDpi
property will be one of theDENSITY_xxx
constants (120
,160
,213
,240
,320
,480
或640
如果您需要 实际 的 lcd 像素密度(可能用于 OpenGL 应用程序),您可以分别从水平和垂直密度的
metrics.xdpi
和metrics.ydpi
属性中获得它。如果您的目标 API 级别早于 4。
metrics.density
属性是参考密度 (160dpi) 的浮点缩放因子。现在可以计算出metrics.densityDpi
提供的相同值