/UniversalImageLoaderExample/src/com/nostra13/example/universalimageloader/ImageGridActivity.java
https://github.com/rashedulkabir/Android-Universal-Image-Loader · Java · 103 lines · 83 code · 17 blank · 3 comment · 3 complexity · 2462ba1b38e7240f67f35be01a31f19a MD5 · raw file
- package com.nostra13.example.universalimageloader;
- import android.content.Intent;
- import android.graphics.Bitmap;
- import android.os.Bundle;
- import android.view.View;
- import android.view.ViewGroup;
- import android.view.animation.Animation;
- import android.view.animation.AnimationUtils;
- import android.widget.AdapterView;
- import android.widget.AdapterView.OnItemClickListener;
- import android.widget.BaseAdapter;
- import android.widget.GridView;
- import android.widget.ImageView;
- import com.nostra13.universalimageloader.core.DisplayImageOptions;
- import com.nostra13.universalimageloader.core.assist.SimpleImageLoadingListener;
- /**
- * @author Sergey Tarasevich (nostra13[at]gmail[dot]com)
- */
- public class ImageGridActivity extends BaseActivity {
- private String[] imageUrls;
- private DisplayImageOptions options;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.ac_image_grid);
- Bundle bundle = getIntent().getExtras();
- imageUrls = bundle.getStringArray(Extra.IMAGES);
- options = new DisplayImageOptions.Builder()
- .showStubImage(R.drawable.stub_image)
- .showImageForEmptyUri(R.drawable.image_for_empty_url)
- .cacheInMemory()
- .cacheOnDisc()
- .build();
- GridView gridView = (GridView) findViewById(R.id.gridview);
- gridView.setAdapter(new ImageAdapter());
- gridView.setOnItemClickListener(new OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
- startImageGalleryActivity(position);
- }
- });
- }
- @Override
- protected void onStop() {
- imageLoader.stop();
- super.onStop();
- }
- private void startImageGalleryActivity(int position) {
- Intent intent = new Intent(this, ImagePagerActivity.class);
- intent.putExtra(Extra.IMAGES, imageUrls);
- intent.putExtra(Extra.IMAGE_POSITION, position);
- startActivity(intent);
- }
- public class ImageAdapter extends BaseAdapter {
- @Override
- public int getCount() {
- return imageUrls.length;
- }
- @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) {
- final ImageView imageView;
- if (convertView == null) {
- imageView = (ImageView) getLayoutInflater().inflate(R.layout.item_grid_image, parent, false);
- } else {
- imageView = (ImageView) convertView;
- }
- imageLoader.displayImage(imageUrls[position], imageView, options, new SimpleImageLoadingListener() {
- @Override
- public void onLoadingComplete(Bitmap loadedImage) {
- Animation anim = AnimationUtils.loadAnimation(ImageGridActivity.this, R.anim.fade_in);
- imageView.setAnimation(anim);
- anim.start();
- }
- });
- return imageView;
- }
- }
- }