我有一个appwidget,它有一个ImageButton。我可以更新ImageButton图像,但我无法使用setInt()方法更新backgroundcolor;因为imagebutton setBackgroundColor没有使用 RemotableViewMethod.class 进行消息处理。我还能做什么?
答案 0 :(得分:2)
示例:
rv.setInt(R.id.view_id, "setBackgroundColor", 0xFF0000FF);
答案 1 :(得分:1)
您可以尝试在RemoteViews
构造函数中使用具有正确背景颜色的其他布局。您在每次更新时创建一个RemoteViews
对象,并告诉RemoteViews
对象使用哪种布局。从我的测试来看,如果你膨胀的东西比以前更多,那将取代目前app小部件使用的东西。各种RemoteViews
设置器适用于您无法通过布局轻松处理的内容(例如,TextView
的动态文本)。
答案 2 :(得分:0)
您可以使用ImageView
代替布局背景,我们可以设置ImageView
src来更改背景(可能您会使用android:scaleType="fitXY"
)