2012-08-01 84 views
-1

我有一个layout其中包含4个水平LinearLayouts与3 ImageButtons每个内。RelativeLayout位置问题

现在我想那些LinearLayout转换为RelativeLayout,因为我需要添加一些更多的元素,我必须用toRightOfalignParentTop

下面是我用做这种改变的代码:

<?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,它们没有问题。

所以我的问题是:为什么会发生这种情况?然后我如何解决这个错误?

预先感谢您!

+0

你没有发布相同的问题吗? http://stackoverflow.com/questions/11749552/xml-is-crazy-it-is-not-showing-real-position-of-elements/11749895#comment15617034_11749895 – 0gravity 2012-08-01 15:45:59

回答

0

已解决。我以编程方式设置ID的意见,我没有意识到...

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> 
+0

它不工作... – 2012-08-02 08:13:38