我有layout
,其中包含4个水平LinearLayouts
,每个ImageButtons
内有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
但我不知道为什么,{{1}}存在问题。
这是一张图片,我用图形解释了哪个是我的问题:
http://img811.imageshack.us/img811/5479/stackes.jpg
这让我疯了。我不知道为什么会这样。我之前使用过RelativesLayout,但它们没有问题。
所以我的问题是:为什么会这样?然后我该如何解决这个错误?
提前谢谢!
答案 0 :(得分:0)
试试这个。我评论了底部的线性布局。如果相对布局按照您希望的方式工作,那么您可以相应地调整其他线条。
<?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="fill_parent"
android:background="@drawable/bugbox_wall_port" >
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="fill_parent"
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="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="10dp" >
<ImageButton
android:id="@+id/spyMsgs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_launcher" />
<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/ic_launcher"
android:layout_toRightOf="@id/spyMsgs" />
<ImageButton
android:id="@+id/allyMsgs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_launcher"
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>
答案 1 :(得分:0)
解决。我正在以编程方式为视图设置ID,但我没有意识到......