From 646642393187627976e5510acf1db92bd82bd8e0 Mon Sep 17 00:00:00 2001 From: leov1 Date: Tue, 15 Dec 2015 16:45:42 +0800 Subject: [PATCH 1/2] Update ImageIndicatorView.java MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1.消除 数据刷新 导致的 图片和 指示器重复的问题 2.添加 网络图片加载,使用ImageLoader 进行加载 --- .../imageindicator/ImageIndicatorView.java | 35 +++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/library/src/main/java/com/panxw/android/imageindicator/ImageIndicatorView.java b/library/src/main/java/com/panxw/android/imageindicator/ImageIndicatorView.java index 972e2d8..0ef5701 100644 --- a/library/src/main/java/com/panxw/android/imageindicator/ImageIndicatorView.java +++ b/library/src/main/java/com/panxw/android/imageindicator/ImageIndicatorView.java @@ -209,14 +209,19 @@ public void setupLayoutByDrawable(final Integer resArray[]) { /** * set Drawable list - * + * 消除 数据刷新 导致的 图片和 指示器重复的问题 * @param resList * Drawable list */ public void setupLayoutByDrawable(final List resList) { if (resList == null) throw new NullPointerException(); - + if (this.viewList.size()>0){ + this.viewList.clear(); + } + if (this.indicateLayout.getChildCount() > 0) { + this.indicateLayout.removeAllViews(); + } final int len = resList.size(); if (len > 0) { for (int index = 0; index < len; index++) { @@ -226,6 +231,32 @@ public void setupLayoutByDrawable(final List resList) { } } } + + /** + * 设置显示 网络图片,使用ImageLoader 加载网络图片,需要提前配置ImageLoader + * + */ + public void setupLayoutByURL(final List urllist) { + if (urllist == null) + throw new NullPointerException(); + final int len = urllist.size(); + if (this.viewList.size()>0){ + this.viewList.clear(); + } + if (this.indicateLayout.getChildCount() > 0) { + this.indicateLayout.removeAllViews(); + } + if (len > 0) { + for (int i = 0; i < len; i++) { + final ImageView pageItem = new ImageView(getContext()); + ImageLoader.getInstance().displayImage( + Constants.getRequestHost() + urllist.get(i), pageItem, + Utils.getOptions()); + addViewItem(pageItem); + } + } + } + /** * set show item current From 5c20bbdd3cd146980f2ffde890c030b7ec67e2fe Mon Sep 17 00:00:00 2001 From: leov1 Date: Sun, 31 Jul 2016 11:30:14 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=BD=93=20=E6=BB=91=E5=8A=A8=E5=88=B0?= =?UTF-8?q?=E6=9C=80=E5=90=8E=E4=B8=80=E9=A1=B9=E6=97=B6=EF=BC=8C=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E6=BB=91=E5=8A=A8=E5=88=B0=20=E7=AC=AC=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E4=BD=8D=E7=BD=AE=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../imageindicator/AutoPlayManager.java | 58 +++++++++++-------- 1 file changed, 33 insertions(+), 25 deletions(-) diff --git a/library/src/main/java/com/panxw/android/imageindicator/AutoPlayManager.java b/library/src/main/java/com/panxw/android/imageindicator/AutoPlayManager.java index 69da475..4cd4089 100644 --- a/library/src/main/java/com/panxw/android/imageindicator/AutoPlayManager.java +++ b/library/src/main/java/com/panxw/android/imageindicator/AutoPlayManager.java @@ -1,15 +1,23 @@ -package com.panxw.android.imageindicator; +package com.lt.hm.wovideo.widget.indicatorView; + +/** + * @author leonardo + * @create_date 16/2/23 + * @version 1.0 + */ import android.os.Handler; import android.os.Message; +import com.lt.hm.wovideo.utils.StringUtils; + import java.lang.ref.WeakReference; + /** * Auto BrocastManager for ImageIndicatorView - * + * * @author steven-pan - * */ public class AutoPlayManager { /** @@ -24,6 +32,14 @@ public class AutoPlayManager { * play times (always) */ private static final int DEFAULT_TIMES = -1; + /** + * turn right + */ + private final static int RIGHT = 0; + /** + * turn left + */ + private final static int LEFT = 1; /** * broadcast flag, play default */ @@ -36,14 +52,6 @@ public class AutoPlayManager { * play interval ms */ private long intevalMils = DEFAULT_INTEVALMILS; - /** - * turn right - */ - private final static int RIGHT = 0; - /** - * turn left - */ - private final static int LEFT = 1; /** * current direction */ @@ -74,11 +82,9 @@ public AutoPlayManager(ImageIndicatorView imageIndicatorView) { /** * set play start time and interval - * - * @param startMils - * start time ms(>2, default 8s) - * @param intevelMils - * time interval ms(default 3s) + * + * @param startMils start time ms(>2, default 8s) + * @param intevelMils time interval ms(default 3s) */ public void setBroadcastTimeIntevel(long startMils, long intevelMils) { this.startMils = startMils; @@ -87,9 +93,8 @@ public void setBroadcastTimeIntevel(long startMils, long intevelMils) { /** * set auto play flag - * - * @param flag - * on or off + * + * @param flag on or off */ public void setBroadcastEnable(boolean flag) { this.broadcastEnable = flag; @@ -97,9 +102,8 @@ public void setBroadcastEnable(boolean flag) { /** * set loop times - * - * @param times - * loop times + * + * @param times loop times */ public void setBroadCastTimes(int times) { this.broadcastTimes = times; @@ -115,8 +119,10 @@ public void loop() { } protected void handleMessage(Message msg) { + + if (broadcastEnable) { - if (System.currentTimeMillis() + if (!StringUtils.isNullOrEmpty(System.currentTimeMillis())&&System.currentTimeMillis() - mImageIndicatorView.getRefreshTime() < 2 * 1000) {// ignore time interval less 2s return; } @@ -131,7 +137,9 @@ protected void handleMessage(Message msg) { if (mImageIndicatorView.getCurrentIndex() == mImageIndicatorView .getTotalCount() - 1) { timesCount++;// add loop play times - direction = LEFT; +// mImageIndicatorView.setCurrentItem(0); + mImageIndicatorView.getViewPager().setCurrentItem(0); + direction = RIGHT; } else { mImageIndicatorView .getViewPager() @@ -163,7 +171,7 @@ private static class BroadcastHandler extends Handler { private final WeakReference autoBrocastManagerRef; public BroadcastHandler(AutoPlayManager autoBrocastManager) { - this.autoBrocastManagerRef = new WeakReference( + this.autoBrocastManagerRef = new WeakReference<>( autoBrocastManager); }