我有一个layout
包含 4 个水平的,每个内部LinearLayouts
有 3ImageButtons
个。
现在我想将它们转换LinearLayout
为,RelativeLayout
因为我需要添加更多元素并且必须使用toRightOf
等alignParentTop
。
这是我用来进行此更改的代码:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:background="@drawable/bugbox_wall_port" >
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_gravity="center_horizontal"
android:orientation="vertical" >
<Button
android:id="@+id/writeNewMsg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="New" />
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="10dp" >
<ImageButton
android:id="@+id/spyMsgs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/msgspy" />
<ImageButton
android:id="@+id/playerMsgs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:background="@drawable/msgplyr"
android:layout_toRightOf="@id/spyMsgs" />
<ImageButton
android:id="@+id/allyMsgs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/msgally"
android:layout_toRightOf="@id/playerMsgs" />
</RelativeLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="10dp" >
<ImageButton
android:id="@+id/battleMsgs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/msgbatt" />
<ImageButton
android:id="@+id/skynetMsgs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:background="@drawable/msgnet" />
<ImageButton
android:id="@+id/transportMsgs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/msgtrans" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="10dp" >
<ImageButton
android:id="@+id/expeditionMsgs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/msgexp" />
<ImageButton
android:id="@+id/newsMsgs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:background="@drawable/msgnews" />
<ImageButton
android:id="@+id/buildingMsgs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/msgbuild" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="10dp" >
<ImageButton
android:id="@+id/allMsgs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/msgall" />
<ImageButton
android:id="@+id/binMsgs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:background="@drawable/msgbin" />
</LinearLayout>
</LinearLayout>
</ScrollView>
但我不知道为什么,这RelativeLayout
是有问题的。
这是我以图形方式解释的图像,这是我的问题:
http://img811.imageshack.us/img811/5479/stackes.jpg
它快把我逼疯了。我不知道为什么会这样。我以前使用过 RelativesLayout,它们没有问题。
所以我的问题是:为什么会这样?然后我该如何解决这个错误?
先感谢您!