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