【发布时间】:2011-06-26 14:55:00
【问题描述】:
我在相对布局中有一个 TextView 和一个 ImageView:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
android:paddingLeft="10dip" android:id="@+id/itemRoot"
android:clickable="false">
<TextView android:layout_width="wrap_content" android:text="TextView"
android:layout_height="wrap_content" android:id="@+id/itemTxt"
android:layout_alignParentLeft="true" android:layout_centerVertical="true"
android:singleLine="true"></TextView>
<ImageView android:id="@+id/delBtn" android:layout_height="wrap_content"
android:src="@drawable/delete" android:layout_width="wrap_content"
android:layout_alignParentRight="true" android:paddingRight="10dip"
android:layout_centerVertical="true"></ImageView>
</RelativeLayout>
但是,当文本过长时,它会与 ImageView 重叠,一直到屏幕末尾,然后是“...”。但我希望它在 ImageView 开始的地方停止。我无法将 TextView 一直延伸到 ImageView,因为我下面还有一些看起来很难看的背景。所以我尝试在两个视图之间添加一个空白的透明间隔:
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:id="@+id/spacer"
android:layout_alignTop="@+id/itemTxt" android:layout_alignBottom="@+id/itemTxt"
android:layout_toLeftOf="@+id/delBtn" android:layout_toRightOf="@+id/itemTxt"
android:minWidth="5dip" android:background="@android:color/transparent"></TextView>
但是,我仍然有同样的问题。只要文本不太长,分隔符就可以很好地工作。但是因为 itemTxt 是针对 ParentLeft 定义的,所以它只是将垫片推出了屏幕之外,而且我也无法针对垫片定义它,因为 SDK 抱怨它是圆形的。
有什么想法吗?
亚历克斯
【问题讨论】:
标签: android view android-relativelayout