textview中的ellipsize不起作用

时间:2014-02-14 21:53:47

标签: android android-layout textview ellipsis

如果我的textview长度太长,我想显示省略号。但由于某种原因,它似乎没有用。请看一下图片的样子:

enter image description here

这是我的布局代码。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView 
          android:id="@+id/txt1_trans"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:textIsSelectable="true"
          android:bufferType="spannable"
          android:layout_marginLeft="10dp"
          android:singleLine="true"
          android:ellipsize="end"
          android:freezesText="true"
          android:focusable="true" 
          android:focusableInTouchMode="true"
          android:text="My Personal > Bank of America savings"
          android:textStyle="bold"
          android:textSize="18sp"
          android:layout_marginTop="5dp"
          android:textColor="#000000"/>

<TextView 
    android:layout_width="wrap_content" 
    android:id="@+id/TextView2"
    android:layout_height="wrap_content" 
    android:textSize="18sp"
    android:text="100$"
    android:textStyle="bold"
    android:layout_marginRight="20dp"
    android:layout_alignParentRight="true"
    android:layout_alignTop="@id/txt1_trans"
    android:layout_alignBottom="@id/txt1_trans"/>

</RelativeLayout>

如果占用右侧textview(“TextView2”)占用的空间,我希望左侧的textView(txt1_trans)显示省略号。请让我知道我做错了什么。

由于

2 个答案:

答案 0 :(得分:0)

你不能使用带有wrap_content的ellipsize作为宽度。您需要使用wrap_parent或者最好使用match_parent,具体取决于您要定位的Android版本。

答案 1 :(得分:0)

我发现了布局问题。对于我布局上的第二个TextView,我已经设置了

  

alignParentRight = true

第一个TextView有

  

width =“wrap_content”

因此,这两个TextView最终占用了公共空间。为了避免这种情况,我将第一个TextView设置为_LeftOf第二个TextView。这可以确保他们不会尝试在同一个公共空间上书写。这是我正确的布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical" android:layout_width="fill_parent"
  android:layout_height="fill_parent">
<TextView 
      android:id="@+id/txt1_trans"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:textIsSelectable="true"
      android:bufferType="spannable"
      android:layout_marginLeft="10dp"
      android:singleLine="true"
      android:ellipsize="end"
      android:layout_toLeftOf="@+id/TextView2"
      android:freezesText="true"
      android:focusable="true" 
      android:focusableInTouchMode="true"
      android:text="My Personal Bank of America savings"
      android:textStyle="bold"
      android:textSize="18sp"
      android:layout_marginTop="5dp"
      android:textColor="#000000"/>

   <TextView 
      android:layout_width="wrap_content" 
      android:id="@+id/TextView2"
      android:layout_height="wrap_content" 
      android:textSize="18sp"
      android:text="100$"
      android:textStyle="bold"
      android:layout_marginRight="20dp"
      android:layout_alignParentRight="true"
      android:layout_alignTop="@id/txt1_trans"
      android:layout_alignBottom="@id/txt1_trans"/>
</RelativeLayout>