android - 加载图像时带有背景的 ImageView 会留下边距

标签 android android-layout android-imageview

我的 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/

相关文章:

java - Android 应该使用哪些端口?

android - Android 中的旋转轮

java - 如何在 Android 上为 imageView 设置动态渐变色调

android - 如何在底部的图像位图上放置文本?

java - RecyclerView 没有附加适配器;跳过布局,数据不显示

android - Android应用程序中的WebView数据交换

android - 如何: servlet get android form info and insert into mysql

Java Web 服务可在 java 应用程序中使用,但不能在 Android 应用程序中使用

java - 如何为不同的标签声明几个具有相同名称的样式属性?

android.support.v4.widget.SwipeRefreshLayout 在 android.support.design.widget.AppBarLayout 内部时不滑动