设置背景信息:

RelativeLayout layout = (RelativeLayout) findViewById(R.id.background);
layout.setBackgroundResource(R.drawable.ready);

这是最好的方法吗?


当前回答

试试ViewCompat。setBackground (yourView drawableBackground)

其他回答

如果您的背景现在在drawable文件夹中,请尝试将图像从drawable文件夹移动到项目中的drawable-nodpi文件夹。这为我工作,似乎其他图像是由他们自己重新缩放。

RelativeLayout relativeLayout;  //declare this globally

现在,在任何函数中,如onCreate, onResume

relativeLayout = new RelativeLayout(this);  
relativeLayout.setBackgroundResource(R.drawable.view); //or whatever your image is
setContentView(relativeLayout); //you might be forgetting this

试试这个。

 int res = getResources().getIdentifier("you_image", "drawable", "com.my.package");
 preview = (ImageView) findViewById(R.id.preview);
 preview.setBackgroundResource(res);
if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN)
     layout.setBackgroundDrawable(getResources().getDrawable(R.drawable.ready));
else if(android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP_MR1)
     layout.setBackground(getResources().getDrawable(R.drawable.ready));
else
     layout.setBackground(ContextCompat.getDrawable(this, R.drawable.ready));

我正在使用minSdkVersion 16和targetSdkVersion 23。 以下是为我工作,它使用

ContextCompat.getDrawable(context, R.drawable.drawable);

而不是使用:

layout.setBackgroundResource(R.drawable.ready);

而使用:

layout.setBackground(ContextCompat.getDrawable(this, R.drawable.ready));

getActivity()在片段中使用,如果从活动调用则使用此方法。