我很担心与毕加索一起调整大小。如果我理解正确,我们必须将像素传递给resize
方法,因此我们必须手动将它们从dp转换为支持不同的屏幕密度。
但是resizeDimen
方法做了什么?它是否需要dp中的维度,所以我们不必再手动转换它们了?
这与fit
方法有什么关系?
答案 0 :(得分:4)
resizeDimen
使用dimen资源(不是dp nether px)。 Dimen资源看起来像<dimen name="logo_width">96dp</dimen>
,它们的用法如下:R.dimen.logo_width
。resize
方法使用像素 fit
方法将根据目标大小(通常是ImageView)注意:从任何维度单位到像素的转换都是由Android上下文(Picasso.with(context)
中的上下文)进行的。请查看Picasso源代码中的method和Android源代码中的method,了解转化的工作原理。
答案 1 :(得分:3)
没有。 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>
如果您需要进一步解释,请告诉我