Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

重影问题 #45

Open
fushen0 opened this issue Nov 1, 2017 · 17 comments
Open

重影问题 #45

fushen0 opened this issue Nov 1, 2017 · 17 comments

Comments

@fushen0
Copy link

fushen0 commented Nov 1, 2017

首先非常感谢使用到这么好的项目~~我用的是1.3.2 ,还是存在重影的问题。我是首页MainActivity挂载四个Fragment, 采用显示隐藏的方式展示四个Fragment。第一个Fragment 中使用了MarqueeView做一个滚动的通知栏的效果,在切换其它fragment再切换回来时,会出现重影的问题。尝试过你说的解决方案, 即在生命周期中暂停开始,还是未能解决问题。希望能看到这个问题解决的方案,谢谢!

@fushen0
Copy link
Author

fushen0 commented Nov 2, 2017

虽不算完美,但已解决。

@sunfusheng
Copy link
Owner

你试试V1.3.3呢

@Jmengfei
Copy link

同样遇到了这个问题,我用的是1.3.3,但是重影问题依然存在,我的问题和1楼的一样。真心希望可以给出这个的解决方案。谢谢

@macleo
Copy link

macleo commented Dec 30, 2017

重影截个图看看吧

@Jmengfei
Copy link

Jmengfei commented Jan 9, 2018

我也自己解决了,在fragment的方法onHiddenChanged(boolean hidden)中控制了一下stopFlipping和startFlipping

@gitkmw
Copy link

gitkmw commented Apr 19, 2018

用webview打开轮播看详情,返回重影问题依然存在,目前我是这种解决的,用户点击条目,调用stopFlipping,页面可见调用startFlipping

@DreamYONG
Copy link

同上我也用 onHiddenChanged 解决 但是最后停留的那一条 再回来该fragment 会再重复一遍 有和解决方法吗

@lqqhd2
Copy link

lqqhd2 commented Apr 28, 2018

重影问题,onHiddenChanged 也没解决

@truesA
Copy link

truesA commented May 23, 2018

重影问题,onHiddenChanged 不能解决 请问有新的方案吗?

@everyline
Copy link

同问,重影问题怎么解决

@monkey520
Copy link

重影现象是因为刷新的时候,原有动画还在执行,新的动画又来了导致;
解决方法刷新前先暂停动画,请求到数据再重新开始动画。
/**
* 暂停动画
*/
public void stopAnimation() {
clearAnimation();
stopFlipping();
}

@everyline
Copy link

这个clearAnimation();
stopFlipping(); 也没法解决

@zimengfang
Copy link

Fragment 判断setUserVisibleHint(boolean isVisibleToUser) 可见startFlipping(); 不可见stopFlipping();
onResume 和 onStop 也控制一下,貌似解决重影了,至少这两天都没看见重影...

@liguangze
Copy link

@Jmengfei onHiddenChanged 重影问题解决了,但是发现一个新的问题,文字不是按顺序轮播执行了,你有这种情况吗

@qianshengta
Copy link

我的解决了,比如说我是首页四个Fragment tab之间切换,在onHiddenChanged界面隐藏后调用stopFlipping();停止动画,在onHiddenChanged界面显示时startFlipping()开始动画。正常的应该是这样的,但是一开始我尝试过后还是有重影,经过代码上的检查后发现,我在onHiddenChanged界面显示时还去请求了数据,获得数据后我有调用了startWithList(list)。这就相当于我在同一次调用了两次开启动画,所以才会有重影问题

@starktonys
Copy link

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

#65

@krcdxnh
Copy link

krcdxnh commented Jan 15, 2020

MarqueeView.getNotices().isEmpty() 表示不等于空吗,这句解释没有问题吗

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests