0e916ca18fbe690a7a704bb7aebcce3f68e6c97a.svn-base 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. package com.hjq.image;
  2. import android.app.Application;
  3. import android.app.Fragment;
  4. import android.content.Context;
  5. import android.support.annotation.DrawableRes;
  6. import android.support.annotation.NonNull;
  7. import android.widget.ImageView;
  8. /**
  9. * desc : 图片加载器
  10. */
  11. public final class ImageLoader {
  12. private static ImageFactory sImageFactory; // 图片生产工厂
  13. private static ImageHandler sImageHandler; // 图片加载处理对象
  14. public static void init(Application application) {
  15. // 使用 Glide 进行初始化图片加载器
  16. init(application, new GlideFactory());
  17. }
  18. /**
  19. * 使用指定的图片加载器进行初始化
  20. *
  21. * @param application 上下文对象
  22. * @param factory 图片加载器生成对象
  23. */
  24. public static void init(@NonNull Application application,@NonNull ImageFactory factory) {
  25. sImageFactory = factory;
  26. sImageHandler = factory.create();
  27. sImageFactory.init(application, sImageHandler);
  28. }
  29. /**
  30. * 清除图片缓存
  31. */
  32. public static void clear(@NonNull Context context) {
  33. sImageFactory.clear(context);
  34. }
  35. /**
  36. * 加载普通图片
  37. */
  38. public static void loadImage(@NonNull ImageView imageView, String url) {
  39. loadImage(imageView.getContext(), imageView, url);
  40. }
  41. public static void loadImage(@NonNull Context context, @NonNull ImageView imageView, String url) {
  42. sImageHandler.loadImage(context, imageView, url);
  43. }
  44. public static void loadImage(Fragment fragment, @NonNull ImageView imageView, String url) {
  45. sImageHandler.loadImage(fragment, imageView, url);
  46. }
  47. public static void loadImage(android.support.v4.app.Fragment fragment, @NonNull ImageView imageView, String url) {
  48. sImageHandler.loadImage(fragment, imageView, url);
  49. }
  50. public static void loadImage(@NonNull ImageView imageView, @DrawableRes int resourceId) {
  51. loadImage(imageView.getContext(), imageView, resourceId);
  52. }
  53. public static void loadImage(@NonNull Context context, @NonNull ImageView imageView, @DrawableRes int resourceId) {
  54. sImageHandler.loadImage(context, imageView, resourceId);
  55. }
  56. public static void loadImage(Fragment fragment, @NonNull ImageView imageView, @DrawableRes int resourceId) {
  57. sImageHandler.loadImage(fragment, imageView, resourceId);
  58. }
  59. public static void loadImage(android.support.v4.app.Fragment fragment, @NonNull ImageView imageView, @DrawableRes int resourceId) {
  60. sImageHandler.loadImage(fragment, imageView, resourceId);
  61. }
  62. /**
  63. * 加载圆形图片
  64. */
  65. public static void loadCircleImage(@NonNull ImageView imageView, String url) {
  66. loadCircleImage(imageView.getContext(), imageView, url);
  67. }
  68. public static void loadCircleImage(@NonNull Context context, @NonNull ImageView imageView, String url) {
  69. sImageHandler.loadCircleImage(context, imageView, url);
  70. }
  71. public static void loadCircleImage(Fragment fragment, @NonNull ImageView imageView, String url) {
  72. sImageHandler.loadCircleImage(fragment, imageView, url);
  73. }
  74. public static void loadCircleImage(android.support.v4.app.Fragment fragment, @NonNull ImageView imageView, String url) {
  75. sImageHandler.loadCircleImage(fragment, imageView, url);
  76. }
  77. public static void loadCircleImage(@NonNull ImageView imageView, @DrawableRes int resourceId) {
  78. loadCircleImage(imageView.getContext(), imageView, resourceId);
  79. }
  80. public static void loadCircleImage(@NonNull Context context, @NonNull ImageView imageView, @DrawableRes int resourceId) {
  81. sImageHandler.loadCircleImage(context, imageView, resourceId);
  82. }
  83. public static void loadCircleImage(Fragment fragment, @NonNull ImageView imageView, @DrawableRes int resourceId) {
  84. sImageHandler.loadCircleImage(fragment, imageView, resourceId);
  85. }
  86. public static void loadCircleImage(android.support.v4.app.Fragment fragment, @NonNull ImageView imageView, @DrawableRes int resourceId) {
  87. sImageHandler.loadCircleImage(fragment, imageView, resourceId);
  88. }
  89. /**
  90. * 加载圆角图片
  91. */
  92. public static void loadRoundImage(@NonNull ImageView imageView, String url, float radius) {
  93. loadRoundImage(imageView.getContext(), imageView, url, radius);
  94. }
  95. public static void loadRoundImage(@NonNull Context context, @NonNull ImageView imageView, String url, float radius) {
  96. sImageHandler.loadRoundImage(context, imageView, url, radius);
  97. }
  98. public static void loadRoundImage(Fragment fragment, @NonNull ImageView imageView, String url, float radius) {
  99. sImageHandler.loadRoundImage(fragment, imageView, url, radius);
  100. }
  101. public static void loadRoundImage(android.support.v4.app.Fragment fragment, @NonNull ImageView imageView, String url, float radius) {
  102. sImageHandler.loadRoundImage(fragment, imageView, url, radius);
  103. }
  104. public static void loadRoundImage(@NonNull ImageView imageView, @DrawableRes int resourceId, float radius) {
  105. loadRoundImage(imageView.getContext(), imageView, resourceId, radius);
  106. }
  107. public static void loadRoundImage(@NonNull Context context, @NonNull ImageView imageView, @DrawableRes int resourceId, float radius) {
  108. sImageHandler.loadRoundImage(context, imageView, resourceId, radius);
  109. }
  110. public static void loadRoundImage(Fragment fragment, @NonNull ImageView imageView, @DrawableRes int resourceId, float radius) {
  111. sImageHandler.loadRoundImage(fragment, imageView, resourceId, radius);
  112. }
  113. public static void loadRoundImage(android.support.v4.app.Fragment fragment, @NonNull ImageView imageView, @DrawableRes int resourceId, float radius) {
  114. sImageHandler.loadRoundImage(fragment, imageView, resourceId, radius);
  115. }
  116. }