现在我有两个textView,一个对齐在相对布局的左边,一个对齐到右边.左边的文字比右边的文字长得多.在某些情况下,左边的文字是两行.当这种情况发生时,文本与右对齐的文本重叠.
有没有防止这个?还是有办法说出左边的文字是两行,把文字放在第二行的右边?
我的名字和时间在这里有麻烦:
<RelativeLayout android:layout_width="wrap_content" android:id="@+id/relativeLayout" android:layout_height="wrap_content"> <TextView android:text="TextView" android:id="@+id/name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10sp" android:textStyle="bold" android:textSize="16sp"></TextView> <TextView android:layout_width="wrap_content" android:id="@+id/address" android:text="address" android:layout_height="wrap_content" android:layout_below="@+id/name" android:layout_alignLeft="@+id/name" android:layout_marginLeft="30sp"></TextView> <TextView android:layout_width="wrap_content" android:layout_toRightOf="@+id/address" android:text="" android:layout_height="wrap_content" android:layout_alignTop="@+id/address" android:layout_alignBottom="@+id/address" android:id="@+id/crossStreet"></TextView> <TextView android:layout_width="wrap_content" android:id="@+id/time" android:text="Time" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_marginRight="10sp"></TextView> </RelativeLayout>
解决方法
你可以在水平LinearLayout(它本身仍然是你的RelativeLayout的孩子)中包含两个TextView.然后,为该LinearLayout中的两个TextView中的每一个分配适当的权重属性.