MarqueeView icon indicating copy to clipboard operation
MarqueeView copied to clipboard

开始重影问题,按照下面的解决办法后,第一次进入程序,先是第一条数据,轮播后还是从第一条数据开始

Open liguangze opened this issue 6 years ago • 7 comments

如果不加入 @Override public void onStart() { super.onStart(); L.i("onStart ======="); mMarqueeView.startFlipping(); }

@Override
public void onStop() {
    super.onStop();
    L.i("onStop =======");
    mMarqueeView.stopFlipping();
}

这个代码是没有问题,但是会重影

liguangze avatar Aug 23 '18 01:08 liguangze

是的 还是依然会重影

qianshengta avatar Jan 22 '19 02:01 qianshengta

你检查了下代码,startWithList(list)和startFlipping()是不是都调用了。我的问题就是这样的,界面显示时我调用了startFlipping()开启动画。但是在这时候我同样去请求了数据,获得数据后调用了startWithList(list),这就导致重复调用开启动画,导致了重影

qianshengta avatar Jan 22 '19 03:01 qianshengta

你检查了下代码,startWithList(list)和startFlipping()是不是都调用了。我的问题就是这样的,界面显示时我调用了startFlipping()开启动画。但是在这时候我同样去请求了数据,获得数据后调用了startWithList(list),这就导致重复调用开启动画,导致了重影

我取了一个巧,先设置 startWithList("") 然后紧接着设置 startWithList 这样就规避了目前的重影问题

nreckle avatar Jun 14 '19 07:06 nreckle

先把所有子view清除,然后清空动画,在停止播放就可以。
mMarqueeView.removeAllViews(); mMarqueeView.clearAnimation(); stopMarquee();

panhongjin avatar Aug 21 '19 09:08 panhongjin

if (MarqueeView.getNotices().isEmpty() && !MarqueeView.getNotices().equals(oldList)) { //避免重复set 重影问题 不等于空 并且 不等于老的数据就替换 tvAutoOfficeAnnounceHeader.startWithList(mSystemMessages); } 确实是这个问题导致的,终极解决方案。

问题原因

你检查了下代码,startWithList(list)和startFlipping()是不是都调用了。我的问题就是这样的,界面显示时我调用了startFlipping()开启动画。但是在这时候我同样去请求了数据,获得数据后调用了startWithList(list),这就导致重复调用开启动画,导致了重影

starktonys avatar Sep 12 '19 09:09 starktonys

MarqueeView.getNotices().isEmpty()

MarqueeView.getNotices().isEmpty() 是不等于空的意思吗

krcdxnh avatar Jan 15 '20 07:01 krcdxnh