【发布时间】: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