Android 相对布局中缺少项

Android 相对布局中缺少项,android,xml,layout,view,Android,Xml,Layout,View,我需要在Android XML中的2x3网格中放置六个块。我使用的视图位于RelativeLayout的内部,而RelativeLayout位于另一个RelativeLayout的内部。下面代码中显示的六个视图没有产生任何错误,但只显示了其中四个(左下两个丢失)。我想这可能与我使用下面的layout_和layout_toRightOf的方式有关,但我不知道到底出了什么问题。这是我的代码,问题在于xml末尾的六个视图 <?xml version="1.0" encoding="utf-8"?

我需要在Android XML中的2x3网格中放置六个块。我使用的视图位于RelativeLayout的内部,而RelativeLayout位于另一个RelativeLayout的内部。下面代码中显示的六个视图没有产生任何错误,但只显示了其中四个(左下两个丢失)。我想这可能与我使用下面的layout_和layout_toRightOf的方式有关,但我不知道到底出了什么问题。这是我的代码,问题在于xml末尾的六个视图

<?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"
android:background="#000000" >

<!-- / / / / / / / / / / / / / Borders / / / / / / / / / / / / / / / -->

 <View
    android:id="@+id/topBorder"
    android:layout_width="match_parent"
    android:layout_height="15dp"
    android:background="#01FF70"
    android:layout_alignParentTop="true"
    android:visibility="invisible" />

<View
    android:id="@+id/bottomBorder"
    android:layout_width="match_parent"
    android:layout_height="15dp"
    android:background="#FFDC00"
    android:layout_alignParentBottom="true"
    android:visibility="invisible" />

<View
    android:id="@+id/leftBorder"
    android:layout_width="15dp"
    android:layout_height="match_parent"
    android:background="#FF851B"
    android:layout_alignParentLeft="true" />

<View
    android:id="@+id/rightBorder"
    android:layout_width="15dp"
    android:layout_height="match_parent"
    android:background="#85144B"
    android:layout_alignParentRight="true"/>


<!-- / / / / / / / / / / / / / Left Panel / / / / / / / / / / / / / / / -->

<LinearLayout
    android:id="@+id/leftPanel"
    android:layout_below="@+id/topBorder"
    android:layout_toRightOf="@+id/leftBorder"
    android:layout_width="140dp"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/icon"
        android:layout_width="115dp"
        android:layout_height="115dp"
        android:layout_alignParentLeft="true"
        android:src="@drawable/spongebob" />

    <TextView
        android:id="@+id/txt_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:minLines="3"
        android:maxLines="3"
        android:text="Insert text here insert text here insert text here insert text"
        android:textSize="18sp" />

    <TextView
        android:id="@+id/txt_size"
        android:layout_marginTop="-7dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:minLines="1"
        android:maxLines="1"
        android:text="$3.00"
        android:textSize="30sp" />

</LinearLayout>

<View
    android:id="@+id/divider"
    android:layout_toRightOf="@id/leftPanel"
    android:background="#FFFFFF"
    android:layout_width="1dp"
    android:layout_height="185dp"
    android:layout_marginTop= "30dp" />


<!-- / / / / / / / / / / / / / Right Panel / / / / / / / / / / / / / / -->

<RelativeLayout
    android:id="@+id/rightContainer"
    android:layout_toRightOf="@+id/divider"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <View
        android:id="@+id/calorieBlock"
        android:layout_width="10dp"
        android:layout_height="65dp"
        android:layout_marginLeft="25dp"
        android:layout_marginTop="15dp"
        android:background="#ffffff" />

    <View
        android:id="@+id/carbBlock"
        android:layout_width="10dp"
        android:layout_height="65dp"
        android:layout_toRightOf="@+id/calorieBlock"
        android:layout_marginLeft="25dp"
        android:layout_marginTop="15dp"
        android:background="#ffffff" />

    <View
        android:id="@+id/tfatBlock"
        android:layout_width="10dp"
        android:layout_height="65dp"
        android:layout_toRightOf="@+id/carbBlock"
        android:layout_marginLeft="25dp"
        android:layout_marginTop="15dp"
        android:background="#ffffff" />

    <View
        android:id="@+id/proteinBlock"
        android:layout_width="10dp"
        android:layout_height="65dp"
        android:layout_below="@+id/calorieBlock"
        android:layout_marginLeft="25dp"
        android:layout_marginTop="15dp"
        android:background="#ffffff" />

    <View
        android:id="@+id/sfatBlock"
        android:layout_width="10dp"
        android:layout_height="65dp"
        android:layout_toRightOf="@+id/proteinBlock"
        android:layout_marginLeft="25dp"
        android:layout_marginTop="15dp"
        android:background="#ffffff" />

    <View
        android:id="@+id/sugarBlock"
        android:layout_width="10dp"
        android:layout_height="65dp"
        android:layout_below="@+id/tfatBlock"
        android:layout_marginLeft="25dp"
        android:layout_marginTop="15dp"
        android:background="#ffffff" />

</RelativeLayout>
</RelativeLayout>

查看此代码

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rightContainer"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >

<View
    android:id="@+id/calorieBlock"
    android:layout_width="10dp"
    android:layout_height="65dp"
    android:layout_marginLeft="25dp"
    android:layout_marginTop="15dp"
    android:background="#000000" />

<View
    android:id="@+id/carbBlock"
    android:layout_width="10dp"
    android:layout_height="65dp"
    android:layout_marginLeft="25dp"
    android:layout_marginTop="15dp"
    android:layout_toRightOf="@id/calorieBlock"
    android:background="#000000" />

<View
    android:id="@+id/tfatBlock"
    android:layout_width="10dp"
    android:layout_height="65dp"
    android:layout_marginLeft="25dp"
    android:layout_marginTop="15dp"
    android:layout_toRightOf="@id/carbBlock"
    android:background="#000000" />

<View
    android:id="@+id/proteinBlock"
    android:layout_width="10dp"
    android:layout_height="65dp"
    android:layout_below="@id/calorieBlock"
    android:layout_marginLeft="25dp"
    android:layout_marginTop="15dp"
    android:background="#000000" />

<View
    android:id="@+id/sfatBlock"
    android:layout_width="10dp"
    android:layout_height="65dp"
    android:layout_below="@id/carbBlock"
    android:layout_marginLeft="25dp"
    android:layout_marginTop="15dp"
    android:layout_toRightOf="@id/proteinBlock"
    android:background="#000000" />

<View
    android:id="@+id/sugarBlock"
    android:layout_width="10dp"
    android:layout_height="65dp"
    android:layout_below="@id/tfatBlock"
    android:layout_marginLeft="25dp"
    android:layout_marginTop="15dp"
    android:layout_toRightOf="@id/sfatBlock"
    android:background="#000000" />

</RelativeLayout>

如果要使用相对布局,则应指定尽可能多的关系。因此,sFatBlock应该位于carbBlock的下方,也应该位于蛋白质块的右侧。现在只指定每个块的x或y

您还应该将视图与父视图对齐。因此,第一行应该都具有alignParentTop true。第一列的alignParentLeft=true


你可能还想在你的视图中考虑这些元素的网格视图,因为这将为你完成所有的对齐工作。

请发布完整的XML代码集,将其编辑成完整的XML代码。完全完成了,谢谢!你知道为什么对每个元素都要同时做“下面”和“toRightOf”吗?Ben给出了答案,非常感谢这些提示,非常有用!