【发布时间】:2014-08-11 18:46:32
【问题描述】:
我正在尝试使用 ImageAdapter 和 ImageLoader 将图片库显示为 GridView。 不过,所有肖像图像都旋转了 +-90 度。 我知道 getExifOrientation 代码来检查图像方向并将其旋转回来,但我根本不知道在哪里使用它..
这是我使用的 ImageAdapter 类,大部分都在这里并尝试正确使用它。
public class ImageAdapter extends BaseAdapter {
ArrayList<String> _list;
LayoutInflater _inflater;
Context _context;
public ImageAdapter(Context context, ArrayList<String> imageList) {
_context = context;
_inflater = LayoutInflater.from(_context);
_list = new ArrayList<String>();
this._list = imageList;
}
@Override
public int getCount() {
return _imageUrls.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null) {
convertView = _inflater.inflate(R.layout.multiphoto_item, null);
}
final ImageView imageView = (ImageView) convertView.findViewById(R.id.image_view);
imageView.setTag(position);
imageView.setScaleType(ScaleType.CENTER);
_imageLoader.displayImage("file://"+_imageUrls.get(position), imageView, _options, new SimpleImageLoadingListener() {
@Override
public void onLoadingComplete(Bitmap loadedImage) {
Animation anim = AnimationUtils.loadAnimation(ViewCategoryActivity.this, R.anim.fade_in);
imageView.setAnimation(anim);
anim.start();
}
});
imageView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Integer position = (Integer)imageView.getTag();
String url = _imageUrls.get(position);
Intent intent = new Intent("com.eibimalul.smartgallery.SingleImageDisplay");
intent.putExtra("selectedImagePosition", position);
intent.putStringArrayListExtra("imageUrls", _imageUrls);
intent.putExtra("Title", _activityTitle);
startActivityForResult(intent, 0);
}
});
return convertView;
}
}
比我将它连接到 GridView:
_options = new DisplayImageOptions.Builder()
.showStubImage(R.drawable.stub_image)
.showImageForEmptyUri(R.drawable.image_for_empty_url)
.cacheInMemory()
.cacheOnDisc()
.build();
_imageAdapter = new ImageAdapter(this, _imageUrls);
GridView gridView = (GridView) findViewById(R.id.gridview);
gridView.setAdapter(_imageAdapter);
任何帮助将不胜感激..
【问题讨论】:
-
你解决了吗?对我来说
considerExifParams(true)没有帮助 -
这是个问题,我正面临这个问题。
标签: android gridview rotation orientation universal-image-loader