有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Android:在水平图像视图中处理垂直图像,毕加索

因此,我正在进行一个项目,该项目通过API向下拉取图像(我无法控制服务器上的图像)。大约90%的图像是水平的(宽度大于高度),10%的图像是垂直的(高度大于宽度)

我有一个水平的图像视图,我正试图将图像放入其中。我需要使用毕加索将图像加载到imageview中。目前我使用的是centerCrop(),因此在90%的图像上,图像在imageview中看起来很好,因为图像和imageview都是水平的,所以进行了最小的裁剪。但是大约有10%的图像是垂直的,所以当我把它们放在水平图像视图中时,大约有一半的图像被裁剪(顶部和底部),因为它是centerCrop()。这看起来非常糟糕,因为太多的图像被裁剪掉了

我想知道处理这种情况最好的方法是什么。我在互联网上到处寻找像transform()这样的答案,但我不太确定这是否是正确的答案。无法将imageview更改为正方形或其他形状。它必须占据整个手机的宽度,高度大约占高度的40%。使用fitXY看起来也不太好,因为垂直图像在纵横比上倾斜太多,看起来很时髦


共 (0) 个答案