gpt4 book ai didi

Android GridView 3 x 6 图像裁剪

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

我想创建一个方形图像网格,但我无法让图像按我的需要显示。我从 GridView 教程开始:

http://developer.android.com/resources/tutorials/views/hello-gridview.html

这似乎接近我想要的。

我能看到的唯一区别是我正好需要 18 张图片,而且它们的大小都需要是正方形。我将列数设置为 3,然后加载 18 张图像,它们应该在 6 行中。我希望图像完全填满每一行并且不留下任何不需要的额外尺寸的间隙。在将图像下载到手机之前,我不知道图像的大小。希望它们一开始几乎是正方形的,但我需要裁剪中心以使它们完全正方形,然后缩放它们以完全填充 3 列。我需要图像保留它们的纵横比。

我似乎找不到设置或代码来完成这项工作。图像重叠、有间隙、未正确缩放或其他错误。

我得到的最接近的方法是在我的模拟器设置为 480x800 时按如下方式更改 GridView 教程:

imageView.setLayoutParams(new GridView.LayoutParams(480/3, 480/3));imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);imageView.setPadding(0, 0, 0, 0);imageView.setAdjustViewBounds(true);====< GridView     xmlns:android="http://schemas.android.com/apk/res/android"     android:id="@+id/gridview"     android:layout_width="fill_parent"     android:layout_height="fill_parent"     android:numColumns="3"     android:stretchMode="columnWidth"     android:gravity="fill|clip_horizontal|clip_vertical"/ > 

这几乎是正确的。我使用的正方形测试图像缺少几个像素,非正方形图像没有被裁剪,而是用黑框适合内部以保持比例,硬编码值很脆弱,不适用于所有手机、方向或布局。我觉得有趣的是,CENTER_CROP 文档似乎声称它将通过扩展以适合图像来执行我想要的操作,但似乎是 CENTER_INSIDE。

我感觉很亲近,但从来没有完全得到我想要的。也许我应该使用 GridView 以外的东西?有什么建议么?

请不要恶作剧。

谢谢。

最佳答案

显然 CENTRE_CROP是正确的答案,但是您可以上传屏幕截图以便我弄清楚并帮助您解决您面临的问题吗?

另外,我建议您上传 item_layout xml 文件。

确保你已经使用了<ImageView>宽度到特定尺寸。

对于不同屏幕尺寸的灵 active ,我建议您以编程方式获取屏幕宽度,将宽度除以 3 并从中减去一些填充,然后设置相同图像宽度和高度的值,这将在任何屏幕上为您提供方形图像。

关于Android GridView 3 x 6 图像裁剪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5320399/

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