在Java-Android中设置背景图像的问题

时间:2013-10-21 16:19:38

标签: java android android-drawable

首先,我想告诉你,我是新来的,我来自西班牙,我的英语水平不太好,所以请...试着理解我哈哈。此外,你必须知道我是一名远程信息工程学的学生,编程只是我最喜欢的爱好。有了这些信息,我只想让你全面回答我的问题:我知道这是一个菜鸟问题,当我假装创建Android游戏时情况更糟......但我正在逐步学习。

问题

我遇到的问题是下一个问题。我想在我的主要活动中设置一个名为“* activity_principal *”的.PNG图像。这个图像有很多空的空间,背景最初是黑色的(由于我猜的开头选择了主题)。嗯,这个图像有一些黑色的细节,它们与背景颜色合并。

我的第一个解决方案是尝试从XML对应的代码设置两个背景,但很快我意识到在同一个布局中不可能两次使用它。所以我认为它将通过下一个方式修复:我在XML文件和.java文件中设置“ android:background =”@ android:color / white“”我设置了其他资源到后台:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_principal);

    RelativeLayout fondo = (RelativeLayout) findViewById(R.layout.activity_principal);
    fondo.setBackgroundResource(R.drawable.prototipoestructurapantalla);
}

我过去常常使用这种结构而且从来没有遇到过问题,但是今天,为了做到这一点,我发现了一些奇怪的东西。由于没有找到错误,我在“setContentView(...”和“调试”下的行放置两个断点,当光标到达最后一个代码行“fondo.setBack ...”时,变量“fondo”为“null”我认为存在问题,所以当我恢复调试时,应用程序崩溃......

我希望你能帮助我。谢谢!

1 个答案:

答案 0 :(得分:1)

问题是findViewById(R.layout.activity_principal);将返回null。

您正在传递布局 ID(R.layout.activity_principal)而不是视图ID。

它应该看起来像findViewById(R.id.fondo);