首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在Android中将位图作为图标设置为按钮?

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

Stack Overflow用户
提问于 2015-07-26 03:48:24
回答 3查看 926关注 0票数 0

我试着把图标设置为myButton,它能工作!(见下面的代码)。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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的图标。

谢谢你的帮助。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-07-26 05:21:08

是工作!

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
BitmapDrawable bd = new BitmapDrawable(getResources(), mybitmap);
myButton.setCompoundDrawablesWithIntrinsicBounds(bd,null,null,null);

谢谢你,Rishad Appat,rekire和大家我能做到。

票数 2
EN

Stack Overflow用户

发布于 2015-07-26 03:55:42

首先,必须从位图中创建可绘制的位图。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
BitmapDrawable bdrawable = new BitmapDrawable(context.getResources(),bitmap);

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Button btn = (Button) fndViewById(R.id.button);
btn.setBackgroundDrawable(bdrawable);
票数 1
EN

Stack Overflow用户

发布于 2015-07-26 03:55:22

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

这应该是可行的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
BitmapDrawable drawable = new BitmapDrawable(getResources(), yourBitmap);
yourButton.setCompoundDrawables(drawable, null, null, null);

如果没有正确显示这一点,那么您需要使用以下调用来修正自己的界限:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
drawable.setBounds(0, 0, yourBitmap.getWidth(), yourBitmap.getHeight());
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31636603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文