ViewFlipper锁屏解锁后停止滚动异常分析

本文探讨了ViewFlipper在特定条件下停止自动播放的问题。主要分析了当手机未设置锁屏功能时,即使调用startFlipping()也无法继续播放的现象,并给出了开启锁屏功能作为解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路遥知码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值