这是我想要实现的布局。所以我知道如何居中和左右对齐,但是当我与RelativeLayout结合时,我没有得到理想的结果。除非添加了边距/填充,否则TextView都会向左移动。我有正确的左右中心公式,但是当我想在它们旁边放一些文字时它不起作用。
<ImageView> <TextView> <ImageView><TextView> <ImageView><TextView>
这是我的布局(它只包含一个需要大量边距的文本,因为它是向左转:
<RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal">
<ImageView android:id="@+id/reply_button" android:src="@drawable/icons_reply"
android:layout_width="60dp" andorid_layout_alignParentLeft="true" android:layout_height="wrap_content" android:paddingRight="5dp"/>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Reply"
android:layout_alignLeft="@+id/reply_button" android:layout_marginLeft="50dip" android:textSize="12sp"/>
<ImageView android:id="@+id/resend_button" android:src="@drawable/icons_resend"
android:layout_width="60dp" android:layout_height="wrap_content" android:layout_centerInParent="true" android:paddingRight="5dp"/>
<ImageView android:id="@+id/select_button" android:focusableInTouchMode="false" android:focusable="false" android:layout_alignParentRight="true" android:src="@drawable/select_icon"
android:layout_width="60dp" android:layout_height="wrap_content" android:paddingRight="5dp"/>
</RelativeLayout>
答案 0 :(得分:0)
每个ImageView
左侧不需要TextView
,只需在TextView
左侧设置一个左边的coumpound drawable并将它们放在LinearLayout
中}:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
<TextView
...
android:drawableLeft="@drawable/yourimage"
android:drawablePadding="3dp" //optional, if you want some padding
android:gravity="center_vertical" // to center vertically the text and drawable
weight="1" // use this in a LinearLayout so they will be
// uniformly distributed over the space
...
/>
</LinearLayout>
答案 1 :(得分:0)
您应该将它们嵌套在其他相对布局中,并将它们放在一个大的线性布局中。
<LinearLayout.....>
<RelativeLayout
android:weight=1>
<image>
<Text>
</RelativeLayout>
<RelativeLayout
android:weight=1
>
<image>
<Text>
</RelativeLayout>
<RelativeLayout
android:weight=1>
<image>
<Text>
</RelativeLayout>
</LinearLayout>