微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android:部分更新小部件?

如何解决Android:部分更新小部件?

我有一个Android窗口小部件,可提供媒体播放信息,即标题和当前播放曲目的经过时间。

因此,在播放音乐时,我必须每秒更新一次小部件,而我正在使用appWidgetManager.updateAppWidget(用于更新经过的时间)进行

这可以按预期工作,但是我的小部件(用于音乐标题)上的其他textView应该作为滚动字幕滚动

因此,我搜寻了如何使textView滚动:

android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:singleLine="true"
android:focusable="true"
android:focusableInTouchMode="true"
<requestFocus android:focusable="true" android:focusableInTouchMode="true" android:duplicateParentState="true"/>

最后一行是必需的,因为需要选择视图以使选取框生效,并且您应该调用textView.setSelected(true),如果在小部件上,则这是不可能的。

是的,现在我的小部件上有一个滚动的textView,但是,每次我用appWidgetManager.updateAppWidget(...)更新经过的时间时,字幕动画都会重新启动。

如何仅在经过的时间内不创建另一个窗口小部件来防止这种情况发生?

要使问题更加简单明了: Android上仅更新窗口小部件的一部分(仅一个视图)并留下其余部分的方式是什么?

请注意:我也尝试过partiallyUpdateAppWidget,但它仍然毁了我的选框。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。