[英]How to display image/Video thumbnail in android
大家好我想在我的應用程序中顯示圖像/視頻縮略圖。我使用以下代碼來檢索縮略圖並將它們列在適配器中。 以下是代碼
public class ImageAdapter extends BaseAdapter {
private Context context;
private final String[] VideoValues;
public ImageAdapter(Context context, String[] VideoValues) {
this.context = context;
this.VideoValues = VideoValues;
}
public View getView(int position, View convertView, ViewGroup parent) {
System.out.println("***********In getView************");
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View gridView;
if (convertView == null) {
gridView = new View(context);
// get layout from gridlayout.xml
gridView = inflater.inflate(R.layout.gridlayout, null);
// set value into textview
TextView textView = (TextView) gridView
.findViewById(R.id.grid_item_label);
textView.setText(fileList[position]);
System.out.println("value of fileList[position]" + fileList[0]);
// set image
ImageView imageThumbnail = (ImageView) gridView
.findViewById(R.id.grid_item_image);
Bitmap bmThumbnail;
System.out
.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>> file path>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
+ fileList[position]);
bmThumbnail = ThumbnailUtils.createVideoThumbnail(FILE_PATH
+ fileList[position],
MediaStore.Video.Thumbnails.MINI_KIND);
if (bmThumbnail != null) {
System.out
.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>> THUMB NAIL>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
imageThumbnail.setImageBitmap(bmThumbnail);
} else {
System.out
.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>NO THUMB NAIL>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
}
} else {
gridView = (View) convertView;
}
return gridView;
}
public int getCount() {
// return 0;
return VideoValues.length;
}
public Object getItem(int position) {
return null;
}
public long getItemId(int position) {
return 0;
}
}
}
它在三星 galaxy tab 10.1 中的圖像和視頻工作正常,但它在 acer iconia A501 中不起作用。對此有任何想法。
兩者都在運行 HoneyComb。
Rgds,
我希望這對你有幫助。 只需將其調整到您的應用程序:
View view = convertView;
if (convertView == null)
view = inflater.inflate(R.layout.grid_item_layout, null);
ImageView image = (ImageView) view.findViewById(R.id.image);
TextView textView = (TextView) view.findViewById(R.id.date);
final BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 8;
String filePath = fileList.get(position).getFilePath();
String dateTaken = fileList.get(position).getDateTaken();
Long type = fileList.get(position).getType();
Bitmap bitmap = null;
if(type == MediaStore.Files.FileColumns.MEDIA_TYPE_IMAGE)
bitmap = BitmapFactory.decodeFile(filePath, options);
else if(type == MediaStore.Files.FileColumns.MEDIA_TYPE_VIDEO)
bitmap = ThumbnailUtils.createVideoThumbnail(filePath, 0);
image.setImageBitmap(bitmap);
textView.setText(dateTaken);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.