毕加索的调整大小Dimen()方法需要dp还是像素?



我对与毕加索进行调整非常困惑。如果我正确理解它,我们必须将像素传递到resize方法,因此我们必须手动从DP转换它们以支持不同的屏幕密度。但是resizeDimen方法做什么?它是否在DP中使用尺寸,因此我们不必手动转换它们?这与fit方法有何关系?

  • resizeDimen使用尺寸资源(不是DP Nether PX)。尺寸的资源看起来像<dimen name="logo_width">96dp</dimen>,它们是这样使用的:R.dimen.logo_width
  • resize方法使用 Pixel
  • fit方法将根据目标大小(通常是ImageView)
  • 来调整您的源尺寸。

注意:从任何维单元到像素的转换都是由Android上下文(Picasso.with(context)中的上下文)进行的。从毕加索源代码和Android源代码中查看此方法,以了解转换的工作方式。

no。resizeDimen还用像素进行调整大小,除了您不必给出确切的整数值,而是可以传递资源ID。

所以resize(96,96)reSizeDimen(R.dimen.header_logo_w, R.dimen.header_logo_h)相同

 res/values/dimens.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="header_logo_h">96px</dimen>
<dimen name="header_logo_w">96px</dimen>
</resources>

让我知道您是否需要进一步解释

最新更新