/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

  1. package com.nostra13.example.universalimageloader;
  2. import android.content.Intent;
  3. import android.graphics.Bitmap;
  4. import android.os.Bundle;
  5. import android.view.View;
  6. import android.view.ViewGroup;
  7. import android.view.animation.Animation;
  8. import android.view.animation.AnimationUtils;
  9. import android.widget.AdapterView;
  10. import android.widget.AdapterView.OnItemClickListener;
  11. import android.widget.BaseAdapter;
  12. import android.widget.GridView;
  13. import android.widget.ImageView;
  14. import com.nostra13.universalimageloader.core.DisplayImageOptions;
  15. import com.nostra13.universalimageloader.core.assist.SimpleImageLoadingListener;
  16. /**
  17. * @author Sergey Tarasevich (nostra13[at]gmail[dot]com)
  18. */
  19. public class ImageGridActivity extends BaseActivity {
  20. private String[] imageUrls;
  21. private DisplayImageOptions options;
  22. @Override
  23. public void onCreate(Bundle savedInstanceState) {
  24. super.onCreate(savedInstanceState);
  25. setContentView(R.layout.ac_image_grid);
  26. Bundle bundle = getIntent().getExtras();
  27. imageUrls = bundle.getStringArray(Extra.IMAGES);
  28. options = new DisplayImageOptions.Builder()
  29. .showStubImage(R.drawable.stub_image)
  30. .showImageForEmptyUri(R.drawable.image_for_empty_url)
  31. .cacheInMemory()
  32. .cacheOnDisc()
  33. .build();
  34. GridView gridView = (GridView) findViewById(R.id.gridview);
  35. gridView.setAdapter(new ImageAdapter());
  36. gridView.setOnItemClickListener(new OnItemClickListener() {
  37. @Override
  38. public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
  39. startImageGalleryActivity(position);
  40. }
  41. });
  42. }
  43. @Override
  44. protected void onStop() {
  45. imageLoader.stop();
  46. super.onStop();
  47. }
  48. private void startImageGalleryActivity(int position) {
  49. Intent intent = new Intent(this, ImagePagerActivity.class);
  50. intent.putExtra(Extra.IMAGES, imageUrls);
  51. intent.putExtra(Extra.IMAGE_POSITION, position);
  52. startActivity(intent);
  53. }
  54. public class ImageAdapter extends BaseAdapter {
  55. @Override
  56. public int getCount() {
  57. return imageUrls.length;
  58. }
  59. @Override
  60. public Object getItem(int position) {
  61. return null;
  62. }
  63. @Override
  64. public long getItemId(int position) {
  65. return position;
  66. }
  67. @Override
  68. public View getView(int position, View convertView, ViewGroup parent) {
  69. final ImageView imageView;
  70. if (convertView == null) {
  71. imageView = (ImageView) getLayoutInflater().inflate(R.layout.item_grid_image, parent, false);
  72. } else {
  73. imageView = (ImageView) convertView;
  74. }
  75. imageLoader.displayImage(imageUrls[position], imageView, options, new SimpleImageLoadingListener() {
  76. @Override
  77. public void onLoadingComplete(Bitmap loadedImage) {
  78. Animation anim = AnimationUtils.loadAnimation(ImageGridActivity.this, R.anim.fade_in);
  79. imageView.setAnimation(anim);
  80. anim.start();
  81. }
  82. });
  83. return imageView;
  84. }
  85. }
  86. }