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