在Android 3上以编程方式设置背景。(设置背景)

时间:2013-11-15 02:36:21

标签: java android button

在Android 3中找不到此代码。除此之外还有其他任何风格吗?

powerButton.setBackground(getApplicationContext().getResources().getDrawable(R.drawable.lock));

错误就是这个..

java.lang.NoSuchMethodError:android.widget.Button.setBackground。

2 个答案:

答案 0 :(得分:0)

API 16(Jelly Bean)中引入了

setBackground(Drawable d)。因此,您无法在API 15及更低版本中使用它。

另外,您可以使用setBackgroundResource(int resId)

您也可以这样做,

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN)
   powerButton.setBackground(getResources().getDrawable(R.drawable.lock));
else
   powerButton.setBackgroundResource(R.drawable.lock);

答案 1 :(得分:0)

int sdk = android.os.Build.VERSION.SDK_INT;
if(sdk < android.os.Build.VERSION_CODES.JELLY_BEAN) {
//  use   setBackgroundDrawable();
} else {
 //  use setBackground();
}
相关问题