如何在 Android 中将位图设置为按钮的图标?

How to set a bitmap as icon into button, in Android?

我尝试将图标设置到 myButton 中,成功了! (见下面的代码)。

Button myButton = new Button(this);
myButton.setCompoundDrawablesWithIntrinsicBounds(R.drawable.abc_ic_menu_cut_mtrl_alpha, 0, 0, 0);

现在,我从 URL 位图中下载了一张图片。

我的问题是如何通过将 R.drawable.abc_ic_menu_cut_mtrl_alpha 替换为 bitmap 来设置 myButton 的图标。

感谢您的帮助。

您可以使用 TextView.setCompoundDrawables(...) 方法,这需要一个 Drawable,因此您需要用 BitmapDrawable.

包装您的位图

这应该有效:

BitmapDrawable drawable = new BitmapDrawable(getResources(), yourBitmap);
yourButton.setCompoundDrawables(drawable, null, null, null);

如果显示不正确,则需要通过此调用自行修复边界:

drawable.setBounds(0, 0, yourBitmap.getWidth(), yourBitmap.getHeight());

首先你必须从位图创建可绘制的位图..

BitmapDrawable bdrawable = new BitmapDrawable(context.getResources(),bitmap);

然后设置成这样的按钮...

Button btn = (Button) fndViewById(R.id.button);
btn.setBackgroundDrawable(bdrawable);

成功了!!!

BitmapDrawable bd = new BitmapDrawable(getResources(), mybitmap);
myButton.setCompoundDrawablesWithIntrinsicBounds(bd,null,null,null);

谢谢你,Rishad Appat,rekire 和大家。 我可以。