RelativeLayout无法正常运行Android

时间:2012-10-29 17:12:02

标签: android android-layout

我有下一个问题:我使用了很多RelativeLayout,就像Android文档告诉我的那样。但是,几天之后,我不明白为什么,这不再适用了:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="@drawable/background"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <Button
        android:id="@+id/boton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="Button" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/boton"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="60dp"
        android:text="Large Text"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="#000" />

</RelativeLayout>

这是我的布局,非常简单。所以,根据这个,textView应该在按钮下方,但是,它显示在按钮上!

This is a picture of the result

任何人都会解释我会发生什么?

编辑:问题不是当我尝试在设备上运行它时,问题出现在我在ADT Plugin for Eclipse的图形布局上看到它时...

6 个答案:

答案 0 :(得分:2)

我试试这段代码它正常工作。

如果你的一方工作不正常尝试清理构建你的项目,然后运行。

如果仍然有问题,请尝试此

android:layout_below="@+id/boton"

使用此

删除上面的行
android:layout_below="@id/boton"

因为“+”创建了对R.java文件的新引用

这可能是个问题。

答案 1 :(得分:1)

尝试从代码中删除以下行 机器人:layout_marginTop = “60dp”

答案 2 :(得分:0)

我认为您的问题是背景的drawable,因为我没有在预览中看到图片。

遇到这个问题会给你一个build error,所以预览不会显示当前状态的布局(它会恢复到最后的成功构建)。删除该行并保存以查看预览或检查以确保您的drawable文件夹中标有“背景”的图像

试试这个,没有drawable来检查它是否适合你:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <Button
        android:id="@+id/boton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="Button" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/boton"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="60dp"
        android:text="Large Text"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="#000" />

</RelativeLayout>

答案 3 :(得分:0)

从TextView的layout_below属性中取出“+”符号。 '+'告诉它定义一个新的id。没有'+',它应该引用现有的。

答案 4 :(得分:0)

我正在尝试运行它,现在,我知道问题所在。

在终端中运行应用程序时,它运行正常,当我尝试在Eclipse上的ADT插件的图形布局上看到它时出现问题!有同样问题的人吗?

答案 5 :(得分:-1)

在相对布局的末尾添加</RelativeLayout>以关闭它。