|
2 | 2 |
|
3 | 3 | import android.app.Activity;
|
4 | 4 | import android.graphics.Color;
|
| 5 | +import android.graphics.drawable.Animatable; |
| 6 | +import android.net.Uri; |
5 | 7 | import android.os.Handler;
|
| 8 | +import android.support.annotation.Nullable; |
6 | 9 | import android.support.v4.view.PagerAdapter;
|
7 | 10 | import android.support.v4.view.ViewPager;
|
8 | 11 | import android.util.DisplayMetrics;
|
| 12 | +import android.util.Log; |
9 | 13 | import android.view.LayoutInflater;
|
10 | 14 | import android.view.View;
|
11 | 15 | import android.view.ViewGroup;
|
12 |
| -import android.widget.ImageView; |
13 | 16 | import android.widget.RelativeLayout;
|
14 | 17 |
|
| 18 | +import com.facebook.drawee.backends.pipeline.Fresco; |
| 19 | +import com.facebook.drawee.controller.BaseControllerListener; |
| 20 | +import com.facebook.drawee.controller.ControllerListener; |
| 21 | +import com.facebook.drawee.interfaces.DraweeController; |
| 22 | +import com.facebook.drawee.view.SimpleDraweeView; |
| 23 | +import com.facebook.imagepipeline.image.ImageInfo; |
15 | 24 | import com.flyco.pageindicator.indicator.FlycoPageIndicaor;
|
16 | 25 | import com.uuch.adlibrary.bean.AdInfo;
|
17 | 26 | import com.uuch.adlibrary.utils.DisplayUtil;
|
@@ -166,20 +175,54 @@ public void destroyItem(ViewGroup container, int position, Object object) {
|
166 | 175 | public Object instantiateItem(ViewGroup container, int position) {
|
167 | 176 | AdInfo advInfo = advInfoListList.get(position);
|
168 | 177 |
|
169 |
| - // SimpleDraweeView simpleDraweeView = new SimpleDraweeView(context); |
170 |
| - ImageView imageView = new ImageView(context); |
| 178 | + View rootView = context.getLayoutInflater().inflate(R.layout.viewpager_item, null); |
| 179 | + final ViewGroup errorView = (ViewGroup) rootView.findViewById(R.id.error_view); |
| 180 | + final ViewGroup loadingView = (ViewGroup) rootView.findViewById(R.id.loading_view); |
| 181 | + final SimpleDraweeView simpleDraweeView = (SimpleDraweeView) rootView.findViewById(R.id.simpleDraweeView); |
171 | 182 | ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
|
172 |
| - container.addView(imageView, params); |
173 |
| - imageView.setTag(advInfo); |
174 |
| - imageView.setOnClickListener(imageOnClickListener); |
175 |
| - |
176 |
| - |
177 |
| - /*Uri uri = Uri.parse(advInfo.getActivityImg()); |
178 |
| - simpleDraweeView.setImageURI(uri);*/ |
179 |
| - imageView.setBackgroundResource(R.drawable.adrawable); |
180 |
| - |
181 |
| - |
182 |
| - return imageView; |
| 183 | + container.addView(rootView, params); |
| 184 | + simpleDraweeView.setTag(advInfo); |
| 185 | + simpleDraweeView.setOnClickListener(imageOnClickListener); |
| 186 | + |
| 187 | + |
| 188 | + ControllerListener controllerListener = new BaseControllerListener<ImageInfo>() { |
| 189 | + @Override |
| 190 | + public void onFinalImageSet( |
| 191 | + String id, |
| 192 | + @Nullable ImageInfo imageInfo, |
| 193 | + @Nullable Animatable anim) { |
| 194 | + if (imageInfo == null) { |
| 195 | + return; |
| 196 | + } |
| 197 | + Log.i("##########", "onFinalImageSet()"); |
| 198 | + errorView.setVisibility(View.GONE); |
| 199 | + loadingView.setVisibility(View.GONE); |
| 200 | + simpleDraweeView.setVisibility(View.VISIBLE); |
| 201 | + } |
| 202 | + |
| 203 | + @Override |
| 204 | + public void onIntermediateImageSet(String id, @Nullable ImageInfo imageInfo) { |
| 205 | + Log.i("##########", "onIntermediateImageSet()"); |
| 206 | + } |
| 207 | + |
| 208 | + @Override |
| 209 | + public void onFailure(String id, Throwable throwable) { |
| 210 | + Log.i("#############", "onFilure()"); |
| 211 | + errorView.setVisibility(View.VISIBLE); |
| 212 | + loadingView.setVisibility(View.GONE); |
| 213 | + simpleDraweeView.setVisibility(View.GONE); |
| 214 | + } |
| 215 | + }; |
| 216 | + |
| 217 | + Uri uri = Uri.parse(advInfo.getActivityImg()); |
| 218 | + DraweeController controller = Fresco.newDraweeControllerBuilder() |
| 219 | + .setControllerListener(controllerListener) |
| 220 | + .setUri(uri) |
| 221 | + .build(); |
| 222 | + simpleDraweeView.setController(controller); |
| 223 | + |
| 224 | + |
| 225 | + return rootView; |
183 | 226 | }
|
184 | 227 | }
|
185 | 228 |
|
|
0 commit comments