呼叫请求最低级别为16

时间:2014-03-18 13:32:23

标签: android background android-framelayout

我想通过以下方式更改framelayout的背景(包含我的所有页面!)。

FrameLayout fl = (FrameLayout)findViewById(R.id.container);
    fl.setBackground(getResources().getDrawable(R.drawable.juraquiz_app_background));

但显然我不能。有没有办法做到这一点,所以它与低于16的API兼容?

2 个答案:

答案 0 :(得分:1)

对于API低于16,您可以使用setBackgroundDrawable

答案 1 :(得分:1)

对不同的API使用不同的方法:

final Drawable drw = getResources().getDrawable(R.drawable.juraquiz_app_background);
if(android.os.Build.VERSION.SDK_INT < 16)
{
    fl.setBackgroundDrawable(drw);
}
else
{
    fl.setBackground(drw);
}

您需要在方法中添加注释(或者如果您愿意,还可以添加到您的班级)以删除Lint警告:
@SuppressLint(&#34; NewApi&#34)