Skip to content

Commit 2458375

Browse files
committed
更新类库图片加载逻辑
1 parent 88ab9bd commit 2458375

24 files changed

+1186
-25
lines changed

adlibrary/adlibrary.iml

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -67,14 +67,6 @@
6767
<sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
6868
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
6969
<sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
70-
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
71-
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
72-
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
73-
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
74-
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
75-
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
76-
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
77-
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
7870
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
7971
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
8072
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
@@ -83,6 +75,14 @@
8375
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
8476
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
8577
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
78+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
79+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
80+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
81+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
82+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
83+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
84+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
85+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
8686
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/annotations" />
8787
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
8888
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />
@@ -103,6 +103,7 @@
103103
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.facebook.fresco/imagepipeline-base/0.12.0/jars" />
104104
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.facebook.fresco/imagepipeline/0.12.0/jars" />
105105
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.flyco.pageindicator/FlycoPageIndicator_Lib/1.0.0/jars" />
106+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.malinskiy/materialicons/1.0.2/jars" />
106107
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
107108
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-safeguard" />
108109
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
@@ -122,6 +123,7 @@
122123
<orderEntry type="library" exported="" scope="TEST" name="runner-0.5" level="project" />
123124
<orderEntry type="library" exported="" scope="TEST" name="espresso-idling-resource-2.2.2" level="project" />
124125
<orderEntry type="library" exported="" name="drawee-0.12.0" level="project" />
126+
<orderEntry type="library" exported="" name="materialicons-1.0.2" level="project" />
125127
<orderEntry type="library" exported="" scope="TEST" name="hamcrest-library-1.3" level="project" />
126128
<orderEntry type="library" exported="" name="fresco-0.12.0" level="project" />
127129
<orderEntry type="library" exported="" scope="TEST" name="hamcrest-integration-1.3" level="project" />

adlibrary/build.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,10 @@ dependencies {
2828
})
2929
compile 'com.android.support:appcompat-v7:23.4.0'
3030
compile 'com.facebook.rebound:rebound:0.3.8'
31+
compile 'com.nineoldandroids:library:2.4.0'
3132
compile 'com.flyco.pageindicator:FlycoPageIndicator_Lib:1.0.0@aar'
3233
compile 'com.facebook.fresco:fresco:0.12.0'
34+
compile 'com.malinskiy:materialicons:1.0.2'
3335
compile 'com.android.support:support-v4:23.0.0'
3436
testCompile 'junit:junit:4.12'
3537
}

adlibrary/src/main/java/com/uuch/adlibrary/AdManager.java

Lines changed: 57 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,25 @@
22

33
import android.app.Activity;
44
import android.graphics.Color;
5+
import android.graphics.drawable.Animatable;
6+
import android.net.Uri;
57
import android.os.Handler;
8+
import android.support.annotation.Nullable;
69
import android.support.v4.view.PagerAdapter;
710
import android.support.v4.view.ViewPager;
811
import android.util.DisplayMetrics;
12+
import android.util.Log;
913
import android.view.LayoutInflater;
1014
import android.view.View;
1115
import android.view.ViewGroup;
12-
import android.widget.ImageView;
1316
import android.widget.RelativeLayout;
1417

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;
1524
import com.flyco.pageindicator.indicator.FlycoPageIndicaor;
1625
import com.uuch.adlibrary.bean.AdInfo;
1726
import com.uuch.adlibrary.utils.DisplayUtil;
@@ -166,20 +175,54 @@ public void destroyItem(ViewGroup container, int position, Object object) {
166175
public Object instantiateItem(ViewGroup container, int position) {
167176
AdInfo advInfo = advInfoListList.get(position);
168177

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);
171182
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;
183226
}
184227
}
185228

0 commit comments

Comments
 (0)