使用RemoteViews设置化合物可绘制

我有一个带有textview和imageview的appwidget布局。

林特总是告诉我用复合textviewreplace它。

问题是,如何使用RemoteViews调用setCompoundDrawables? 可能吗?

谢谢。

更新: http : //code.google.com/p/android/issues/detail? id= 29249

  • 如何为Android App Widget提供标签/名称
  • Android - 如何更新小部件,但只有当它是可见的?
  • Android:有没有办法获得RemoteViews对象的大小?
  • Android:将WebView输出加载到App Widget中
  • 如何使用配置活动创建应用小部件,并首次更新它?
  • UpdateAppWidget空指针exception
  • appwidget冻结并拒绝更新:忽略updateAppWidget
  • AppWidgetManager getAppWidgetIds返回旧的Widget ID
  • 当你使用setCompoundDrawables,你需要像这样的代码:

    Drawable img; Resources res = getResources(); img = res.getDrawable(R.drawable.btn_img); //You need to setBounds before setCompoundDrawables , or it couldn't display img.setBounds(0, 0, img.getMinimumWidth(), img.getMinimumHeight()); btn.setCompoundDrawables(img_off, null, null, null); 

    所以你必须有方法来调用getResources()! 您可以将Activity上下文作为parameter passing给getResources()和findViewById。

    使用setTextViewCompoundDrawables

     contentiew.setTextViewCompoundDrawables(R.id.setting_btn, 0, R.mipmap.ic_gray_setting,0,0);