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

Java Android中设置背景图像的问题,java,android,android-drawable,Java,Android,Android Drawable,首先,我想告诉你我是新来的,我来自西班牙,我的英语水平不是很好,所以请。。。试着理解我,哈哈。另外,你必须知道我是一名远程信息处理工程专业的学生,编程正是我最喜欢的爱好。有了这些信息,我只想让你们全面回答我的问题:我知道这是一个新手问题,当我假装创建一个Android游戏时,情况会更糟。。。但我正在一点一点地学习 问题 我遇到的问题是下一个问题。我想在我的主体活动中设置一个名为“*活动\主体*”的.PNG图像。这张图片有很多空白,背景最初是黑色的(我想是因为在开始时选择了主题)。嗯,这张图片有一

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

问题

我遇到的问题是下一个问题。我想在我的主体活动中设置一个名为“*活动\主体*”的.PNG图像。这张图片有很多空白,背景最初是黑色的(我想是因为在开始时选择了主题)。嗯,这张图片有一些黑色的细节,它们与背景色融合在一起

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

@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(…”和debugging”下的行中放置了两个断点,当光标到达最后一行代码“fondo.setBack…”时,变量“fondo”为“null”,我认为存在问题,因此当我恢复调试时,应用程序崩溃


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

问题是
findViewById(R.layout.activity\u principal);
将返回null

您传递的是布局ID(
R.layout.activity\u principal
),而不是视图ID


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

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

您传递的是布局ID(
R.layout.activity\u principal
),而不是视图ID


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

对不起,我看不出.java文件和活动接口之间的关系。我的意思是,从我的角度来看,这没有意义:“fondo”是RelativeLayout的变量名,我把XML文件称为“activity\u principal”为了通过java代码设置选项,XML中的RelativeLayout需要有一个
android:id=“@+id/my_relative_布局”
属性。这将在R中为该视图生成一个ID。然后,您可以使用
R.ID.my\u relative\u layout
引用该ID。如果您仍然有问题,请使用布局XML更新您的问题。YEEAAh!!jajaj这就是解决方案!我不知道为什么,但背景一直是黑色的,但最糟糕的问题已经解决。谢谢is.7x。如果您能帮助我了解黑色背景,我将不胜感激。您知道代码,并且RelativeLayout具有下一个属性:
android:background="@android:color/white
。这就像它只需要一个属性,但它必须有一个解决方案…我猜你的RelativeLayout设置是否可以填充父级的宽度和高度?不,它已经设置为匹配。为什么会有问题?只是好奇抱歉,我看不到.java文件和活动接口之间的关系。我的意思是在我看来,这毫无意义:“fondo”是RelativeLayout的变量名,我将其称为XML文件“activity_principal”,以便通过java代码在其上设置选项。XML中的RelativeLayout需要有一个
android:id=“@+id/my_relative_布局”
属性。这将在R中为该视图生成一个ID。然后,您可以使用
R.ID.my\u relative\u layout
引用该ID。如果您仍然有问题,请使用布局XML更新您的问题。YEEAAh!!jajaj这就是解决方案!我不知道为什么,但背景一直是黑色的,但最糟糕的问题已经解决。谢谢is.7x。如果您能帮助我了解黑色背景,我将不胜感激。您知道代码,并且RelativeLayout具有下一个属性:
android:background=“@android:color/white
。这就像它只需要一个属性,但它必须得到一个解决方案……我猜你的RelativeLayout设置是否可以填充父对象的宽度和高度?不,它已经设置为匹配。为什么会有问题?只是好奇而已。”