ViewFlipper一般被用作指定的多个View对象的动态切换,当想要自动播放时,一般可使用startFlipping()启动播放。
但是,测试中发现,如果手机没有开启锁屏功能(黑屏后唤醒直接进入桌面或app),当手机黑屏后再次打开,你会发现停止播放了,而且即使主动调用startFlipper()也不会播放。从ViewFlipper源码来看,
ViewFlipper自动播放的关键标志位是mVisible 、 mStarted 、 mUserPresent,其中任何情况下mVisible和mStarted都可以按照我们去控制,而mUserPresent就必须在解锁屏幕进去才能自动设置为true。如果手机没有开启锁屏功能,BroadcastReceiver是不能接收到解锁通知的,mUserPresent就不能设置为true。ViewFlipper就会停止播放。打开手机的锁屏功能问题就解决了
ViewFlipper锁屏解锁后停止滚动异常分析
最新推荐文章于 2025-09-23 10:54:31 发布
本文探讨了ViewFlipper在特定条件下停止自动播放的问题。主要分析了当手机未设置锁屏功能时,即使调用startFlipping()也无法继续播放的现象,并给出了开启锁屏功能作为解决方案。

3131

被折叠的 条评论
为什么被折叠?



