毕加索的resizeDimen()方法是否采用dp或像素?

时间:2017-12-26 15:51:49

标签: android picasso

我很担心与毕加索一起调整大小。如果我理解正确,我们必须将像素传递给resize方法,因此我们必须手动将它们从dp转换为支持不同的屏幕密度。 但是resizeDimen方法做了什么?它是否需要dp中的维度,所以我们不必再手动转换它们了? 这与fit方法有什么关系?

2 个答案:

答案 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>

如果您需要进一步解释,请告诉我