用listbox显示,每个item一个固定大小image,如手机图库般缩小并只显示图像中心,不是缩放拉伸,
使用bitmap.canvas.drawbitmap程序吊死,有无相关代码?
![](https://profile-avatar.csdnimg.cn/c25d55b37da64692a22511ad0d3d9764_ooooh.jpg!4)
delphi安卓App,如何令图像如图库般显示中心部分并不拉伸?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- m0_57781768 2022-12-28 14:37关注
要在 Android 应用程序中显示图像列表而不拉伸它们,您可以使用 aRecyclerView并将layout_width和layout_height属性设置为,wrap_content以便视图仅占用显示内容所需的空间。然后,您可以使用 aRecyclerView.ViewHolder显示每个图像。
要显示图像的中心部分而不拉伸它,您可以使用该Bitmap.createBitmap方法创建一个新的位图,该位图是原始图像的子集,然后使用该ImageView.setImageBitmap方法显示新的位图。
下面是一个示例,说明如何使用这些方法在RecyclerView不拉伸图像的情况下显示图像列表:
public class ImageAdapter extends RecyclerView.Adapter<ImageAdapter.ViewHolder> { private List<Bitmap> mImages; public ImageAdapter(List<Bitmap> images) { mImages = images; } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item_image, parent, false); return new ViewHolder(view); } @Override public void onBindViewHolder(ViewHolder holder, int position) { Bitmap image = mImages.get(position); int width = image.getWidth(); int height = image.getHeight(); int centerX = width / 2; int centerY = height / 2; int size = Math.min(width, height); Bitmap centerBitmap = Bitmap.createBitmap(image, centerX - size / 2, centerY - size / 2, size, size); holder.imageView.setImageBitmap(centerBitmap); } @Override public int getItemCount() { return mImages.size(); } public static class ViewHolder extends RecyclerView.ViewHolder { public ImageView imageView; public ViewHolder(View itemView) { super(itemView); imageView = (ImageView) itemView.findViewById(R.id.image_view); } } }
此代码将为作为原始图像子集的每个图像创建一个新位图,其大小由原始图像的宽度和高度中的较小者确定。新位图将在原始图像中居中。然后ImageView将显示新的位图而不拉伸它。
希望能帮到您!解决 无用评论 打赏 举报
悬赏问题
- ¥200 csgo2的viewmatrix值是否还有别的获取方式
- ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
- ¥15 请把下列每一行代码完整地读懂并注释出来
- ¥15 pycharm运行main文件,显示没有conda环境
- ¥15 易优eyoucms关于二级栏目调用的问题
- ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
- ¥15 为什么eclipse不能再下载了?
- ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
- ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
- ¥15 特定网页无法访问,已排除网页问题