gpt4 book ai didi

java - 将裁剪后的背景图像设置为自定义 ListView 项目

转载 作者:行者123 更新时间:2023-12-01 12:09:20 27 4
gpt4 key购买 nike

我有一个带有自定义 View 的ListView,并且我也有一个自定义的ArrayAdapter。我想为我的自定义 View 设置背景图像。我知道可以通过 android:background 来完成此操作,但是当我这样做时,将为我的 ListView 项目设置整个图像(1500x1500)。我希望为该项目裁剪图像。我的意思是,如果 ListView 项目是 300x80,我希望显示背景图像的 300x80 部分,而不是缩放整个图像。

如果可以通过 XML 实现,我更喜欢它,但我也可以通过编程来实现。那么,如何为自定义 ListView 项目设置裁剪后的背景?

附注我选择这种方式的原因是,如果我选择小位图,位图在大屏幕设备上看起来会很糟糕,如果我选择大图像,图像将被缩放,我不想要它。

最佳答案

一种方法是使用scaleType centerCrop

或手动裁剪位图。

int startX = (bitmap.getWidth() > imageView.getWidth()) ? (bitmap.getWidth() - imageView.getWidth()) / 2 : 0;
int startY = (bitmap.getHeight() > imageView.getHeight()) ? (bitmap.getHeight() - imageView.getHeight()) / 2 : 0;

bitmap = Bitmap.createBitmap(bitmap,
startX,
startY,
(bitmap.getWidth() > imageView.getWidth()) ? imageView.getWidth() : bitmap.getWidth(),
(bitmap.getHeight() > imageView.getHeight()) ? imageView.getHeight() : bitmap.getHeight());

关于java - 将裁剪后的背景图像设置为自定义 ListView 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27350378/

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