Android 实现两个控件分别靠左侧边缘和右侧边缘,且不重叠
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>