idi*_*ish 4 android image scale imageview android-imageview
我一直在尝试设置位图很长时间以使其适合ImageView边界.
它只是无法正常工作scaleType: fitXY.我的位图图像大小低于ImageView's(保存在100X100像素),我希望我的位图图像适合并伸展到ImageView.
这是一些代码:
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/imageView"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:src="@drawable/locked_image"
android:scaleType="fitXY"
/>
Run Code Online (Sandbox Code Playgroud)
这是设置的代码ImageView(我scaleType在不同的地方设置测试):
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final ImageView imageView;
if (convertView == null) {
imageView = (ImageView) getLayoutInflater().inflate(R.layout.item_grid_image, parent, false);
imageView.setScaleType(ScaleType.FIT_XY);
} else {
imageView = (ImageView) convertView;
imageView.setScaleType(ScaleType.FIT_XY);
}
imageLoader.displayImage(imagesIds[position], imageView, options);
imageView.setScaleType(ScaleType.FIT_XY);
return imageView;
}
Run Code Online (Sandbox Code Playgroud)
以下是它的外观:

正如你所看到的,高度ImageView很好,但我想它的宽度是一样的.我无法通过我的活动访问我的位图图像,所以请不要让我调整我的位图大小.我真的不明白为什么它不能正常工作.
编辑:
只是为了使问题更容易理解.ImageView计算每个设备的高度.每个设备都不同.我希望我的宽度ImageView与它的高度相同.我正在使用该Two-WayGridView库来显示图像,如果它有任何区别.
scaleType正如您认为的那样,使用不会改变ImageView的大小.它所做的就是扩大位图到大小的的ImageView的(它做得很好,你的截图来看).
如果你想制作方形ImageViews,你应该尝试看看这个问题.
另外,我不确定我理解你为什么使用TwoWayGridView库.它专门设计用于指定行/列的数量,并且它将拉伸项目以适应.这似乎与你想要的完全相反,因为你想让它们成为正方形.如果您覆盖onMeasure()链接的问题/答案中显示的每个项目,则可以使用普通的GridView .