编辑:`layout_below`相对于`layout_centerVertical =“true”`

时间:2013-11-07 15:09:37

标签: android view relativelayout

一个简单的问题:我想将view1置于view2 layout_centerVertical="true" RelativeLayoutandroid:layout_below="@id/view2"。显然,<ImageView android:id="@+id/view2" android:layout_height="wrap_content" android:layout_width="wrap_content" android:adjustViewBounds="true" android:padding="10dp" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:src="@drawable/image1"/> <ImageView android:id="@+id/view1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_below="@id/view2" android:adjustViewBounds="true" android:src="@drawable/image2" /> 不起作用,即使有很多空间可用。

<View
        android:id="@+id/view3"
        android:layout_width="10dip"
        android:layout_height="10dip"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:background="#fff" />

现在,我找到了导致这种情况的原因。我有另一种观点:

android:layout_alignParentBottom="true"

如果此视图具有属性view2,则相对于view2的所有内容(居中视图)在布局中都会变得疯狂(消失),但奇怪的是,android:layout_alignParentBottom="false"保持不动。如果我改为view3,一切都会恢复正常。我不明白,{{1}}与其他观点无关。有什么规则我不尊重吗?请帮我。任何答案都将不胜感激。

1 个答案:

答案 0 :(得分:0)

我建议使用tableLayoutGridLAyout

类似的东西:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<TableLayout 
     android:gravity="center_vertical" >      // <-- that one is required!
    <TableRow 
         android:gravity="center">                                 
        <TextView />            
        <ToggleButton />            
    </TableRow>                  
    <TableRow >                                 
        <TextView />           
        <EditText />            
    </TableRow>        
</TableLayout>   
</LinearLayout>