Android的RelativeLayout孩子左右

时间:2011-08-18 19:50:12

标签: android relativelayout

我正在尝试创建一个布局,其中有一个RelativeLayout,里面有两个子节点。这两个孩子是TextView和ImageView。我希望文本从RelativeLayout和ImageView的最左边开始,到RelativeLayout的右边。

我需要使用哪些属性?

代码不起作用。

<RelativeLayout 
    android:clickable="true"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:background="@drawable/android_btn_large" 
    android:gravity="center_vertical">

    <TextView 
            android:id="@+id/txtButton"
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"
            android:text="Riverside Park" 
            android:textColor="#FFFFFF"
            android:layout_alignParentLeft="true">
    </TextView>
    <ImageView 
            android:id="@+id/imgButton"
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:layout_alignParentRight="true"
            android:src="@drawable/plus_icon_480">
     </ImageView>
</RelativeLayout>

上述方法有效,但将按钮拉伸到fill_parent。

2 个答案:

答案 0 :(得分:13)

应该做的工作

<RelativeLayout 
    android:clickable="true"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:background="@drawable/android_btn_large"
    android:gravity="center_vertical">

<TextView 
    android:id="@+id/txtButton"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:layout_toRightOf="@+id/imgButton"
    android:text="Riverside Park"
    android:textColor="#FFFFFF"
    android:layout_alignParentLeft="true"></TextView>

<ImageView 
    android:id="@id/imgButton"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:layout_toLeftOf="@+id/txtButton"
    android:layout_centerVertical="true"
    android:layout_alignParentRight="true"
    android:src="@drawable/plus_icon_480">        
</ImageView>
</RelativeLayout>

请注意,在TextView中有+ id,而在ImageView中没有“+”“。但是你应该在两个视图中使用线性布局,权重设置为”1“。

答案 1 :(得分:1)

右手儿童(TextView)的layout_alignparentleft =“true”和右手儿童(ImageView)的layout_alignparentright =“true”。