1

我构建了一个应用程序并使用了一个 imageview(确切地说是 SmartImageView,但我怀疑这个问题)作为我希望我的图像所在位置的参考,问题是:imageview 有 50x50 像素(设置为 wrap_content)但是当如果图像大于 60x60,我会从网络(确切地说是图标)中提取图像,而不是保持 imageview 的大小,而是保持自己的大小。

我希望我的图像视图用作蒙版并裁剪和/或将图标调整为 50x50 大小,我该怎么做?

这是imageview的xml:

    <com.loopj.android.image.SmartImageView
        android:id="@+id/favicon_placeholder"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/favicon_example2" />

这是将图像拉到其中的java代码:

linkImageView.setImageUrl(link.favicon);
4

2 回答 2

1

看看ImageView.ScaleType。使用 ImageView.ScaleType 属性时,您可能希望在 dp 中具有计算大小或固定大小。

于 2013-09-03T01:29:00.027 回答
1

您正在设置高度和宽度,wrap_content这意味着它将自行调整大小以适应您提供的内容。如果您希望它始终为 50px,无论您给它什么尺寸的图像,那么您需要静态声明尺寸而不是wrap_content. 并设置您的 scaleType ,以便系统知道如何处理不同大小的图像。请参阅此处了解可能的值

 <com.loopj.android.image.SmartImageView
        android:id="@+id/favicon_placeholder"
        android:layout_width="50px"
        android:layout_height="50px"
        android:scaleType="fitXY"
        android:src="@drawable/favicon_example2" />

请注意,px通常不鼓励使用该单元。dp更频繁地使用它,因为它可以针对更小和更大分辨率的设备进行放大或缩小。但是,如果您希望它在每个设备上都是完全相同的像素,那么您必须使用px

于 2013-09-03T01:29:16.620 回答