将relativelayout中的视图与边框对齐

时间:2014-01-14 15:58:22

标签: android layout view relativelayout

是否可以在边框旁边的relativelayout内布置视图。

我有以下布局(简化测试用例),我想让图像尽可能向右移动,因此它与右边框对齐。是否有任何布局方式可以做到这一点?

<RelativeLayout android:background="#ff0000" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent">

<EditText android:layout_width='200dp' 
android:layout_height='wrap_content' 
android:text='First line' 
android:id='@+id/first' />

<ImageView android:src='@drawable/test_grid16x16' 
android:layout_width="16dp" 
android:layout_height="16dp"
android:layout_toRightOf ='@id/first'/>

</RelativeLayout>

2 个答案:

答案 0 :(得分:1)

在RelativeLayout中,childen可以将这些属性设置为true以与其容器的边框对齐: alignParentTop alignParentBottom alignParentLeft ,以及的 alignParentRight ;并且可以组合。

在您的情况下:将alignParentRight =“true”添加到ImageView。

我也会这样做:

android:layout_toRightOf ="@id/first"

android:layout_toLeftOf ="@id/myImage"

在EditText而不是在ImageView中。

因为现在你的ImageView统治了场景,并且必须相应地放置EditText(同样,你必须在ImageView之后声明EditText,否则仍然没有分配ImageView的id)。

让我们说现在是在创建和放置ImageView之后,必须将EditText放置在ImageView的“靠近”(toLeftOf)。

换句话说,这就是你想要的:

<RelativeLayout
    android:background="#ff0000" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"
    >
    <ImageView
        android:src="@drawable/test_grid16x16" 
        android:id="@+id/myImage"
        android:layout_width="16dp" 
        android:layout_height="16dp"
        android:alignParentRight="true"
    />
    <EditText
        android:layout_width="200dp" 
        android:layout_height="wrap_content" 
        android:layout_toLeftOf ="@id/myImage"
        android:text="First line" 
        android:id="@+id/first"
    />
</RelativeLayout>

请注意,在这里和那里,你加上一个引号('),而不是一个doble引号(“)。

答案 1 :(得分:1)

试试这段代码 -

<RelativeLayout android:background="#ff0000" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent">

<EditText android:layout_width="200dp" 
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/myimg"  
android:text="First line"
android:id="@+id/first" />

<ImageView android:id="@+id/myimg"
android:src="@drawable/test_grid16x16" 
android:layout_width="16dp" 
android:layout_height="16dp"
android:layout_alignParentRight="true" 
/>

</RelativeLayout>

希望这有效。

或在您的代码中添加android:layout_alignParentRight="true"中的ImageView

android:layout_alignParentLeft="true"中的EditText

在Android属性中使用而不是'