2011-10-23 58 views
8

我试图调用一个ProgressBarsetProgressDrawable在我RemoteViews
但是似乎没有要上RemoveViews一个setDrawable(<view_id>,<method>,<value>)方法我试过setBitmapsetProgressDrawable需要Drawable不是BitmapsetInt也不起作用。没有办法setProgressDrawable上RemoteViews

我想避免加载不同的小部件布局xml文件来处理不同的颜色进度条。

+0

我同意。 SDK似乎允许使用LayoutInflator实例化一个指向ProgressBar的指针,但似乎没有发生任何操作。如果ProgressBar是AppWidget组件,那么setProgressDrawable(),bringToFront()和臭名昭着的setProgress-and-setMax两个解决方法都不会产生任何影响。它的行为就好像布局XML和代码中的对象指针之间存在断开连接。 –

+0

@HunterD至少它不只是我,这个问题仍然存在于ICS上:( – Rob

回答

1

没有办法做到这一点。我的解决方案不是创建单独的布局文件,而是包含具有不同progressDrawable的所有不同ProgressBars的布局文件。在代码中,你只能使其中一个可见。

请注意,对于较旧的android版本,不允许直接在Progressbar上调用setViewVisibility。诀窍是在每个条的周围包装一个简单的LinearLayout,并使该包装不可见/可见。对我来说工作得很好。