【问题标题】:Create dynamic thumbnail image from drawable resource and set to imageView从可绘制资源创建动态缩略图图像并设置为 imageView
【发布时间】:2018-02-07 21:02:26
【问题描述】:

我是 android 新手,我正在使用一些可绘制的资源图像在活动中显示。但我想将该图像缩放为缩略图大小。

我的代码是:

public class CategoryImages extends BaseAdapter {
    ...
    ...
    Integer[] categoryImagesList;
    public CategoryImages(Context mainActivity, Integer[] categories_images, String selectedCat) {
        categoryImagesList = {R.drawable.suit_7, R.drawable.bkg_4, R.drawable.misc_18};
    }
    public class Holder {
        ImageView iv;
    }
    public View getView(final int position, View convertView, ViewGroup parent) {
        Holder holder = new Holder();
        View rowView;
        rowView = inflater.inflate(R.layout.category_image_list, null);
        holder.iv = (ImageView) rowView.findViewById(R.id.category_img);
        holder.iv.setImageResource(categoryImagesList[position]);
    }
    ...
    ...
}

这是具有实际图像大小的工作文件,但现在我将其更改为下面

public class CategoryImages extends BaseAdapter {
    ...
    ...
    Integer[] categoryImagesList;
    public CategoryImages(Context mainActivity, Integer[] categories_images, String selectedCat) {
        categoryImagesList = {R.drawable.suit_7, R.drawable.bkg_4, R.drawable.misc_18};
    }
    public class Holder {
        ImageView iv;
    }
    public View getView(final int position, View convertView, ViewGroup parent) {
        Holder holder = new Holder();
        View rowView;
        rowView = inflater.inflate(R.layout.category_image_list, null);
        holder.iv = (ImageView) rowView.findViewById(R.id.category_img);

        Bitmap thumbImage = ThumbnailUtils.extractThumbnail(BitmapFactory.decodeFile(categoryImagesList[position]), 100, 100);
        holder.iv.setImageResource(thumbImage);
    }
    ...
    ...
}

然后ThumbnailUtils.extractThumbnail 显示错误与categoryImagesList[position] 参数和holder.iv.setImageResource 不接受thumbImage 参数,它说thumbImage 是位图类型和setImageResource 需要int

谢谢

【问题讨论】:

  • holder.iv.setImageResource(thumbImage); 更改为holder.iv.setImageBitmap(thumbImage);

标签: android dynamic imageview thumbnails android-drawable


【解决方案1】:

你需要在这里改变两件事:

1) BitmapFactory.decodeFile(categoryImagesList[position]), 100, 100)BitmapFactory.decodeResource(getResources(),categoryImagesList[position]);

2) 将holder.iv.setImageResource(thumbImage); 更改为holder.iv.setImageBitmap(thumbImage);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-03
    • 1970-01-01
    • 2011-01-07
    • 1970-01-01
    • 2012-03-16
    • 1970-01-01
    相关资源
    最近更新 更多