我需要缩放按钮的背景图像,但不能将其转换为位图。这是现在的代码:
int height = 50;
int width = 80;
Button b = new Button (this);
b. setBackgroundResource(R.drawable.btn);
现在我需要扩展" R.drawable.btn"根据"身高"和"宽度"。 setBackgroundResource不接受Bitmap。我该怎么做?
谢谢。
答案 0 :(得分:18)
您可以允许布局参数控制比例,也可以自己缩放图像。
允许布局缩放图像:
b.setBackground(getResources().getDrawable(R.drawable.btn));
手动缩放图像:
Bitmap original = BitmapFactory.decodeResource(context.getResources(), R.drawable.btn);
Bitmap b = Bitmap.createScaledBitmap(original, width, height, false);
Drawable d = new BitmapDrawable(context.getResources(), b);
button.setBackground(d);
警告:图像可能无法完全按照您的预期显示在屏幕上。这是因为根据您的Button
的布局参数,Android可能会根据设备的硬件屏幕密度另外缩放图像。
答案 1 :(得分:0)
这会将位图变成可绘制的
image = new BitmapDrawable(getResources(),MenuScreen.image1);
图像是可绘制的,image1是位图