【问题标题】:Changing background of a button in widget: Android更改小部件中按钮的背景:Android
【发布时间】:2013-08-28 15:02:20
【问题描述】:

我需要以编程方式更改按钮的background。该按钮被放置在一个小部件中。

我有一个更改背景颜色的示例here,但这仅用于更改颜色,我想使用图像而不是颜色。

有没有办法以编程方式将背景图像应用到按钮?

谢谢

【问题讨论】:

    标签: android


    【解决方案1】:

    我认为您应该可以使用setBackgroundResource,而不是像您链接的示例中那样使用setBackgroundColor

    【讨论】:

    • @SanjayJoshi 慢慢来 :)
    【解决方案2】:

    我认为你需要使用public void setBackgroundResource (int resid)

    【讨论】:

      【解决方案3】:

      你可以用这个:

      setInt(YouButtonId, "setBackgroundResource", YourImageResourceID); 
      

      【讨论】:

        【解决方案4】:

        使用 setBackgroundResource 代替 setBackgroundColor

        【讨论】:

          【解决方案5】:

          在您的 AppWidgetProvider 类中:

          private RemoteViews v;
          ... in onUpdate:
          v = new RemoteViews(context.getPackageName(), R.layout.widget);
          ...
          icon = context.getResources().getIdentifier("ic_action_refresh_"+choosenTheme, "drawable", context.getPackageName());
          v.setInt(R.id.wi_bu_refresh, "setBackgroundResource", icon);
          

          地点:

          icon 只是资源 id(由 getIdentifier 方法为每个主题动态找到)。

          R.layout.widget 是小部件 xml 布局。

          R.id.wi_bu_refresh 是小部件布局中的一个按钮,您要更改哪个背景。

          希望对你有帮助,干杯。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-10-30
            • 1970-01-01
            • 2021-02-07
            • 2013-09-07
            • 2015-09-09
            • 2021-03-18
            • 1970-01-01
            • 2021-07-05
            相关资源
            最近更新 更多