如何在小部件上将图像设置为按钮?

时间:2014-07-12 14:27:12

标签: android

我需要使用应用程序的包名称将图像分配给按钮。按钮位于远程视图上,即按钮位于窗口小部件上。请帮助我。

Button myButton = (Button)a.findViewById(R.id.button);
                 PackageManager packageManager=a.getPackageManager();
                 ApplicationInfo app = a.getPackageManager().getApplicationInfo("com.whatsapp", 0);
                    Drawable icon;
                    icon = packageManager.getApplicationIcon(app);
                    if(icon!=null)
               {
                    myButton.setBackgroundResorce(icon);

            } 
        }
                catch (NameNotFoundException e) {
                      Toast toast = Toast.makeText(a.getApplicationContext(), "error in getting icon", Toast.LENGTH_SHORT);
                         toast.show();
                         e.printStackTrace();
                }

上面是我编写的代码,用于使用包名称获取应用程序的图像并分配给button.Now这在普通的xml上运行正常。我需要对widget上的按钮执行相同的操作。 / p>

1 个答案:

答案 0 :(得分:1)

你应该使用

myButton.setBackgroundDrawable(icon);

setBackgroundResorce();在包中使用资源


编辑1:

public void setIcontoButton(Button targetButton, Drawable icon)
{
    int sdk = android.os.Build.VERSION.SDK_INT;
    if(sdk < android.os.Build.VERSION_CODES.JELLY_BEAN) {
        targetButton.setBackgroundDrawable(icon)
    } else {
        targetButton.setBackground(icon);
    }

}

并将代码更改为:

setIcontoButton(myButton,icon);