如何更改背景图片

时间:2014-12-15 20:33:43

标签: android image background android-studio

我需要多次更改相同活动的背景图像,我想知道如何使用代码执行此操作,因为XML在这种情况下无效(我猜)

这是我的活动的代码,它很简单,并且有几行,如果有人可以更改此代码以更好地解释我如何做我需要的东西,我会非常感谢。 谢谢你们。

public class forca_inicia extends Activity {

@Override


protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_forca_inicia);
    Editable palavra_jogo;
    EditText palavra = (EditText)findViewById(R.id.campo_palavra);
     }


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_forca_inicia, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
        return true;
    }

    return super.onOptionsItemSelected(item);
}
}

2 个答案:

答案 0 :(得分:1)

onCreate中获取活动布局中的根元素并设置颜色,可绘制,资源。例如:

FrameLayout frame = (FrameLayout) findViewById(R.id.content_frame);

frame.setBackground(Drawable background);
frame.setBackgroundResource(int resId);
frame.setBackgroundColor(int color);

我还建议您遵循Java命名约定。类名应以大写字母开头,并应使用CamelCase,例如:ForcaInicia。变量应以小写字母开头并使用camelCase,例如palavraJogo。

答案 1 :(得分:0)

您需要做的就是访问您的Activity的ViewGroup并设置该ViewGroup的背景。

getWindow().getDecorView().setBackgroundResource(R.drawable.your_drawable);