Android 实现两个控件分别靠左侧边缘和右侧边缘,且不重叠

zhangjp 2014-12-11

1.使用relativeLayout从右侧往左侧加,但是问题是,如果右侧的想要不显示,右侧的控件位置会显示空白,而不会自动显示左侧的剩余部分

<RelativeLayout

android:id="@+id/item_layout"

android:layout_width="fill_parent"

<FrameLayout

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/icon_layout"

android:layout_alignParentRight="true"

android:layout_marginRight="5dp"

android:layout_centerVertical="true"

android:layout_gravity="center_vertical">

<TextView

android:id="@+id/status"

android:layout_width="wrap_content"

android:layout_height="30dp"

android:textSize="16sp"

android:gravity="center"

android:text="@string/invite_title"

android:textColor="@android:color/white"/>

</FrameLayout>

<TextView

android:id="@+id/contact_name"

android:layout_width="wrap_content"

android:layout_height="50dp"

android:layout_toRightOf="@id/contact_selected"

android:gravity="center_vertical"

android:layout_marginLeft="15dp"

android:textSize="21sp"

fontsparam:fontSize="Regular"

android:singleLine="true"

android:ellipsize="end"/>

</RelativeLayout>

使用LinearLayout使用layout_weight控制.可能被压缩的文字,配置fill_parent病配置android:layout_weight="1"

<LinearLayout

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:orientation="horizontal">

<RelativeLayout

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_weight="1">

<ImageView

android:id="@+id/id1"

android:layout_width="25dp"

android:layout_height="25dp"

android:layout_centerVertical="true"

android:layout_marginLeft="15dp"

android:src="@drawable/btn_gren_uncheck"

tools:ignore="ContentDescription"

android:layout_alignParentLeft="true"/>

</RelativeLayout>

<FrameLayout

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/icon_layout"

android:layout_marginRight="5dp"

android:gravity="center_vertical"

android:layout_gravity="center">

<TextView

android:id="@+id/status"

android:layout_width="wrap_content"

android:layout_height="30dp"

android:textSize="16sp"

android:gravity="center"

android:text="invite_title"

android:background="@drawable/b"

android:layout_gravity="right"/>

</FrameLayout>

</LinearLayout>

相关推荐