之前,我能够动态创建一个android.widget.Button,其背景颜色通过Button的背景图像的透明部分可见。我无法重新创建这个。我试过了:
Button button = (Button) findViewById(id.button1);
try {
button.setBackgroundColor(Color.RED);
Bitmap bm = BitmapFactory.decodeStream(getAssets().open("transparent.png"));
button.setBackgroundDrawable(new BitmapDrawable(bm));
button.invalidate();
} catch (IOException e) {
throw new RuntimeException(e);
}
如果我执行上述操作,则只能看到图像。如果我在调用setBackgroundDrawable之下移动调用setBackgroundColor,我只看到红色,而不是图像。我怎样才能这样做,这样我才能看到图像,透过它的透明部分,看到背景?
答案 0 :(得分:0)
首先,使用ImageButton更容易,ImageButton有两层,一层是背景,另一层是顶层图像。 使用button.setBackgroundColor
设置背景颜色然后将透明图像设置在顶部:button.setImageDrawable(getResources().getDrawable(R.drawable.transparent));
或在XML中设置SRC preperty
使用按钮填充设置调整图像周围的背景颜色。