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 (将#修改为@)