25

开发人员网站只是声明 getHeight() 将返回位图的高度,但有人能告诉我这是像素单位还是 dp 单位?

4

5 回答 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 回答