AppWidget 中的进度条
-
19-09-2019 - |
题
我在应用程序小部件中使用 ProgressBar 时遇到了一个有趣的情况......文档(http://developer.android.com/guide/topics/appwidgets/index.html) 表示 ProgressBar 是受支持的小部件类...
我可以毫无问题地将 ProgressBar 显示在我的应用程序小部件中,但问题是我希望它仅在后台处理发生时作为视觉反馈显示给用户。
在 ImageViews 上,我通过 RemoteViews.setViewVisibility() 执行此操作,一切正常。但是,对于 ProgressBar,我收到一个异常,说 ProgressBar 不能使用此方法。
这是故意的还是错误?有什么办法可以解决这个问题吗?
解决方案
这是更简单的想法,是把一些容器内的进度条(比如线性布局)和显示/隐藏在容器上。
其他提示
这可能是一个错误。有一个特别的注释(@RemotableViewMethod
)你的Android本身的Java源代码需要标注的方法为通过RemoteViews
可用。 View
有这样的setVisibility()
,但ProgressBar
将覆盖方法,并且不会对自己的版本注释。如果@RemotableViewMethod
是不会继承以及越权“撤销”的注解,这可以解释你看到的症状。
一个解决方法是使用两个应用程序的窗体,并选择一个你想要的(有或无ProgressBar
)当您更新您的应用程序窗口小部件时创建RemoteViews
对象。
我会记下,试图复制这种情况,如果我看到了同样的事情,我会在的 Android的问题跟踪器。
不隶属于 StackOverflow