Android 相对布局中缺少项
我需要在Android XML中的2x3网格中放置六个块。我使用的视图位于RelativeLayout的内部,而RelativeLayout位于另一个RelativeLayout的内部。下面代码中显示的六个视图没有产生任何错误,但只显示了其中四个(左下两个丢失)。我想这可能与我使用下面的layout_和layout_toRightOf的方式有关,但我不知道到底出了什么问题。这是我的代码,问题在于xml末尾的六个视图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"?
<?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给出了答案,非常感谢这些提示,非常有用!