开发人员网站只是声明 getHeight() 将返回位图的高度,但有人能告诉我这是像素单位还是 dp 单位?
问问题
13132 次
5 回答
16
是像素。在Java 代码中,您通常使用像素,例如视图的宽度和高度。
于 2013-06-12T11:14:40.333 回答
2
经过数小时的实验后,我发现它实际上以 dp 为单位返回高度。您可以通过在模拟器中更改设备屏幕来验证它。
于 2016-05-14T10:52:57.083 回答
2
bitmap.getWidth()
dp
以单位或为单位返回宽度densitiy
。
要获取dpi
设备的(每英寸密度),请使用
float dpi = context.getResources().getDisplayMetrics().density;
将 dp 转换为 px
float px = dp * dpi;
并将 px 转换为 dp
float dp = px/dpi;
于 2018-07-04T09:17:59.377 回答
0
如果您阅读有关 android 如何处理视图的内容,则根本不清楚。请参阅“支持多个屏幕”。阅读该文件后,我得出的结论是“视情况而定”。(而且我还在猜测,因为我还没有验证我的分析。)如果视图声明为大小为“wrap_content”、“fill_parent”或“dp”,那么你会得到“dp”,否则你会得到像素。如果您使用“dp”,则通过乘以来实现缩放到像素
getResources().getDisplayMetrics().density
对于 160 dpi 屏幕,返回 1.0;对于 320 pi 屏幕,这将返回 2.0。
于 2013-12-06T16:35:43.877 回答
0
除以 getResources()....密度。
于 2018-05-13T07:23:16.803 回答