我正在尝试设置一个RelativeLayout,其中一行显示两个TextView。第一个TextView应该对齐左侧。第二个TextView应该向右对齐。如果第二个TextView文本将扩展为与第一个TextView重叠,那么我想椭圆化中间的文本。我不想对第一个TextView进行椭圆化。
这就是我想出的。问题是第二个TextView直接位于第一个TextView的右侧,而不是与最右侧对齐。好像我不能同时使用alignParentRight和toRightOf。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/Left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="[DetailedType]"/>
<TextView
android:id="@+id/Right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/Left"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:ellipsize="middle"
android:singleLine="true"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="[CustomerName]"/>
</RelativeLayout>
答案 0 :(得分:3)
实现此ID的基本思路是在RelativeLayout
的水平中心添加虚拟不可见视图,并将左TextView
告诉它左侧和右侧{{1在它的右侧......见下文
关于将其与右侧对齐的问题,您应该拉伸TextView以占用屏幕的一半,然后在TextView上设置TextView
android:gravity="right"
但您可以随时使用<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<View
android:id="@+id/dummy"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
/>
<TextView
android:id="@+id/Left"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@id/dummy"
android:text="[DetailedType]"
android:textAppearance="?android:attr/textAppearanceMedium"/>
<TextView
android:id="@+id/Right"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@id/Left"
android:gravity="right"
android:ellipsize="middle"
android:singleLine="true"
android:text="[CustomerName]"
android:textAppearance="?android:attr/textAppearanceMedium"/>
</RelativeLayout>
来完成工作
LinerLayout
答案 1 :(得分:0)
根据我的理解,您只能在正确的视图中错过android:gravity="right"
。