Relations between dip, px and dpi

前端 未结 2 521
眼角桃花
眼角桃花 2021-01-05 06:21

If, in a layout xml file, I set the size to be, for example 12dip. Will that always be 12px in mdpi and so 18px in hdpi?

So is dip always true for mdpi and will sca

2条回答
  •  盖世英雄少女心
    2021-01-05 06:52

    12dp will be 12px on a device with density 160 dpi. The docs don't say that all mdpi devices have exactly 160 dpi so it seems you might find mdpi devices with other densities (e.g. 150 or 180 dpi). In those cases, the relation 1dp = 1px would not be true.

    You can only be sure of this relation:

    px = dp * (dpi / 160)
    

    If a device has a density of 320 dpi then each dp corresponds to 2 px, because 320/160 is 2. I would say that 2 is the "density factor", but it is also what you get with getResources().getDisplayMetrics().density, so it is also called "density".

提交回复
热议问题