我对与毕加索进行调整非常困惑。如果我正确理解它,我们必须将像素传递到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>
让我知道您是否需要进一步解释