gpt4 book ai didi

Android ImageView 设置位图 FitXY 不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:46:20 24 4
gpt4 key购买 nike

我已经尝试了很长时间来设置位图,使其适合 ImageView 边界。

它只是不能通过 scaleType: fitXY 工作。我的位图图像尺寸小于 ImageView(保存为 100X100 像素),我希望我的位图图像适合并拉伸(stretch)到 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"
/>

下面是设置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;
}

这是它的样子:

enter image description here

如您所见,ImageView 的高度很好,但我希望它的宽度相同。我无法访问我的位图图片来 self 的 Activity ,所以请不要让我调整位图的大小。我真的不明白为什么它不能正常工作。


编辑:
只是为了让问题更容易理解。 ImageView 高度是为每个设备计算的。每个设备都不同。我希望我的 ImageView 的宽度与高度相同。我正在使用 Two-WayGridView 库来显示图像(如果有任何不同的话)。

最佳答案

使用 scaleType 不会像您认为的那样改变 ImageView 的大小。它所做的只是将位图缩放到 ImageView 的大小(从您的屏幕截图来看,它做得很好)。

如果你想制作正方形的 ImageView,你应该尝试查看 this question .

此外,我不确定我是否理解您为什么使用 TwoWayGridView图书馆。它专门设计用于允许您声明行数/列数,并且它会拉伸(stretch)项目以适合。这似乎与您想要的完全相反,因为您想让它们变成正方形。如果您覆盖每个项目的 onMeasure(),就像它在链接的问题/答案中显示的那样,普通的 GridView 将起作用。

关于Android ImageView 设置位图 FitXY 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17901243/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com