簡體   English   中英

從可繪制資源創建動態縮略圖並設置為imageView

[英]Create dynamic thumbnail image from drawable resource and set to imageView

我是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是Bitmap類型,而setImageResource需要int

謝謝

您需要在此處更改兩件事:

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM