我的 imageview 是这样声明的:
<ImageView
android:id="@+id/category_image_top"
android:layout_width="match_parent"
android:layout_height="170dp"
android:maxHeight="170dp"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:background="@drawable/image_placeholder"
/>
这就是我在 asynctask 中设置 category_image_top 的方式(在 onPostExecute 上)
imageView.setImageBitmap(image);
当设置图像时,imageview 突然得到 4px 的边距。但是当我从 XML 中删除 android:background="@drawable/image_placeholder"时,一切都很好吗?!
顺便说一句:image_placeholder 是一个 9 补丁图像,如果这有什么区别的话。
知道为什么会这样吗?
更新:我试过将背景设置为纯色,然后在加载图像时没有边距出现。我还尝试放置另一个 9 补丁图像,当我这样做时,边距再次出现。所以它一定是有背景作为图像的东西
更新 2:也许这是一个像这个人指出的 android 错误? https://stackoverflow.com/a/8340745/581531
最佳答案
我可以猜到 image_placeholder 有 4px 透明边距
关于android - 加载图像时带有背景的 ImageView 会留下边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11666792/