问题描述
|
我有一些带有ImageViews的remoteView,我需要以编程方式更改\“ android:background \”。
我知道如何使用以下方式更改\“ android:src \”:
remoteView.setimageViewResource(int viewId,int srcId);
而且效果很好,但是如何更改\“ android:background \”?
谢谢
解决方法
您可以使用
public void setInt (int viewId,String methodName,int value)
方法。
remoteView.setInt(R.id.viewid,\"setBackgroundResource\",R.color.your_color)
, 使用setBackgroundResource(int)。
此外,这是您可能要注意的事项。当您查看Android文档时,如果可以更改View的xml元素,则它通常指向在运行时进行更改的方法。
, 杰里钻机方式
我认为您可以使用jerry-rig方法使用新背景进行第二个布局,然后使用此新布局创建remoteView,如下所示:
RemoteViews remoteViews =新的RemoteViews(context.getPackageName(),R.layout.widget1);
RemoteViews remoteViews =新的RemoteViews(context.getPackageName(),R.layout.widget2);
毕竟,布局并不是那么昂贵。