现在我有两个textViews,一个在相对布局的左边对齐,另一个对齐到右边.左边的文字比右边的文字长得多.在某些情况下,左边的文字是两行.发生这种情况时,此文本与右侧对齐的文本重叠.
反正有没有阻止这个?或者有没有办法说左边的文字是两行,文字放在第二行的右边?
我在名字和时间方面遇到麻烦:
<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>
Run Code Online (Sandbox Code Playgroud)
Mic*_*hal 21
要使用相同的结果,RelativeLayout请使用android:layout_toLeftOf="@+id/right_text".它会将此视图的右边缘定位在给定锚点视图ID的左侧.
请按照这个例子:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/margin_material_small"
android:paddingRight="@dimen/margin_material_small">
<TextView
android:id="@+id/long_text"
style="@style/Base.TextAppearance.AppCompat.Title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/right_text"
android:singleLine="true"
tools:text="Some text field that will definitely overlap with another one" />
<TextView
android:id="@+id/right_text"
style="@style/Base.TextAppearance.AppCompat.Display1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:singleLine="true"
tools:text="10.34" />
<TextView
android:id="@+id/subtext"
style="@style/Base.TextAppearance.AppCompat.Medium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/long_text"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/right_text"
android:singleLine="true"
tools:text="Some other text slightly smaller"/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
上述布局结果:
Tre*_*vor 18
您是否可以在水平LinearLayout(它本身仍然是RelativeLayout的子级)中包含这两个TextView.然后,为该LinearLayout中的两个TextView中的每一个分配适当的权重属性.