我的 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-patch 图像,如果这有什么不同的话。
任何想法为什么会发生这种情况?
更新:我尝试将背景设置为纯色,然后在加载图像时没有出现边距。我还尝试放置另一个 9-patch 图像,当我这样做时,边距再次出现。所以它必须是有背景的东西作为图像
UPDATE2:也许这是一个像这个人指出的安卓错误?https://stackoverflow.com/a/8340745/581531