我有一些按钮,我用setBackgroundResource(R.drawable.cal_box_center);设置了背景,而我遇到的问题是我的背景是具有这种镶边效果(讨厌的)的渐变,我读过要删除它,您需要设置Bitmap.Config.ARGB_8888。我调查了API,执行此操作的方法是使用解码流等,但是如何使用setBackgroundResource并仍然将Config设置为ARGB_8888?

提前致谢。

最佳答案

您可以使用以下代码段:

// create button
Button btn = new Button(getApplicationContext());

//decode the resource(You can also use decodeStream and other decode method of
//BitmapFactory)
Bitmap btm = BitmapFactory.decodeResource(getResources(), R.drawable.cal_box_center);

//create another copy of your bitmap and specify Config
Bitmap newBtm = btm.copy(Bitmap.Config.ARGB_8888, true);

//use your newBtm to create a BitmapDrawable
BitmapDrawable btmDrwble = new BitmapDrawable(newBtm);

// finally set the drawable as your button's background
btn.setBackgroundDrawable(btmDrwble);

关于android - Android-按钮上的setBackgroundResource,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9940596/

10-09 09:43