【问题标题】:Stretching a drawable to fit ImageView拉伸可绘制对象以适应 ImageView
【发布时间】:2015-12-23 17:45:35
【问题描述】:

所以我试图让我的导航抽屉的“标题”(实现为带有自定义适配器的 ListView)只包含一个 ImageView。问题是,在我尝试加载图像后,它永远不会正确拉伸并且图像和边框之间总是存在间隙,无论我选择的图像有多大(在屏幕截图中尝试了 3200*2400、1.64MB 的图像)。我不应该将图像保存为可绘制文件夹中的图像资产吗?

代码:

int[] images = {... R.drawable.titleImage ...};

ImageView imageView = (ImageView)row.findViewById(R.id.TitleImageView);
imageView.setImageResource(images[position]);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);

布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="75dp">

<ImageView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/TitleImageView"/>

</RelativeLayout>

屏幕截图(左上角的图像,显​​示边界以强调 imageView):

编辑:我尝试再次添加我的图像,并意识到我第一次将它添加为图标启动器 - 这可能是原因吗?如何添加图像以使其具有适当的大小(它是 JPG 还是 PNG 是否重要?)

【问题讨论】:

  • 也许对你有帮助:imageView.setAdjustViewBounds(true);
  • 试过了,不幸的是根本没有帮助(除非我把它放在 FIT_XY 之后,然后图像在中间很小)
  • 显示R.id.TitleImageView所属的布局。
  • 我在项目中添加了一些其他的东西,似乎同样的问题发生在 ImageButton 上 - 我尝试将圆形图标拉伸到圆形按钮,但存在半径差异(所以它没有t真的填满它)
  • 如果有帮助,当我将 ScaleType 设置为 CenterCrop 时,图像会拉伸到顶部(因此它到达 imageView 的顶部边界并被剪切)。我感觉我可能添加错了

标签: android imageview drawable stretch


【解决方案1】:

发现错误。这是我添加图像的方式 - 我点击“添加图像资产”,并将其添加为启动器图标(我知道,我知道,但我是菜鸟);显然它太小而无法以某种方式拉伸。当我将图像复制粘贴到所有可绘制文件夹(hdpi、mdpi、xhdpi、xxhdpi)时,它起作用了。

我认为同样的问题也适用于我的 ImageButton - 但出于某种原因,如您所见,导航抽屉中的图标运行良好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-18
    • 2015-07-20
    • 2013-08-22
    相关资源
    最近更新 更多