Textview不显示部分文本

时间:2014-01-03 09:39:27

标签: android android-layout

我有一个TableLayout,其中包含四行 每行有两列。 我在行中显示两个TextView,一个静态文本和另一个动态文本,可能有超过20个文本作为文本。

其中一个字段是显示电子邮件ID,在TextView中,它只显示电子邮件ID的一部分,并且错过了部分文本。

如何在TextView中显示整个文字而不会遗漏任何字符。

xml如下:

<RelativeLayout
        android:id="@+id/tlbtn"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_above="@id/footer"
        android:layout_below="@id/apt"
        android:layout_marginBottom="10dip"
        android:gravity="center"
        android:orientation="vertical"
        android:padding="10dp">

        <TableLayout
            android:id="@+id/tb"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_marginTop="5dp">

            <TableRow
                android:id="@+id/tableRow1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="10dip">

                <TextView
                    android:id="@+id/id1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:gravity="left"
                    android:text="Name :"
                    android:textColor="#707070"
                    android:textSize="15dp"
                    android:textStyle="bold" />

                <TextView
                    android:id="@+id/tname"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="10dp"
                    android:gravity="left"
                    android:textSize="15dp"
                    android:textStyle="bold" />
            </TableRow>

            <TableRow
                android:id="@+id/tableRow2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="10dip">

                <TextView
                    android:id="@+id/id2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:gravity="left"
                    android:text="Employee Id:"
                    android:textColor="#707070"
                    android:textSize="15dp"
                    android:textStyle="bold" />

                <TextView
                    android:id="@+id/tempid"
                    android:layout_width="200dip"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="10dp"
                    android:gravity="left"
                    android:maxLines="4"
                    android:textSize="15dp"
                    android:textStyle="bold" />
            </TableRow>

            <TableRow
                android:id="@+id/tableRow3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="10dip">

                <TextView
                    android:id="@+id/id3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:gravity="left"
                    android:text="Designation :"
                    android:textColor="#707070"
                    android:textSize="15dp"
                    android:textStyle="bold" />

                <TextView
                    android:id="@+id/tdesg"
                    android:layout_width="200dip"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="10dp"
                    android:gravity="left"
                    android:maxLines="2"
                    android:textSize="15dp"
                    android:textStyle="bold" />
            </TableRow>

            <TableRow
                android:id="@+id/tableRow4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="10dip">

                <TextView
                    android:id="@+id/id4"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:gravity="left"
                    android:text="Status :"
                    android:textColor="#707070"
                    android:textSize="15dp"
                    android:textStyle="bold" />

                <TextView
                    android:id="@+id/tstatus"
                    android:layout_width="200dp"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="10dip"
                    android:gravity="left"
                    android:maxLines="3"
                    android:textSize="15dp"
                    android:textStyle="bold" />
            </TableRow>

            <TableRow
                android:id="@+id/tableRow5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="10dip">

                <TextView
                    android:id="@+id/id5"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:gravity="left"
                    android:text="Email Id:"
                    android:textColor="#707070"
                    android:textSize="15dp"
                    android:textStyle="bold" />

                <TextView
                    android:id="@+id/temailid"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="10dip"
                    android:ellipsize="end"
                    android:gravity="left"
                    android:inputType="textMultiLine"
                    android:maxLines="3"
                    android:singleLine="false"
                    android:textSize="15dp"
                    android:textStyle="bold" />
            </TableRow>
        </TableLayout>
    </RelativeLayout>

我确实尝试了各种解决方案,似乎没有任何效果

3 个答案:

答案 0 :(得分:5)

您的文字大小为15 dp,但TextView宽度仅为200 dip。似乎在一行上不能显示超过20个字母。我建议你有三种方式:

  1. 扩展TextView宽度或缩小文字大小;
  2. 使用android:singleLine="false";
  3. 将TextView设置为多行包装文本模式
  4. 如果您想使其固定大小并自动滚动单行 android:ellipsize="marquee" android:marqueeRepeatLimit ="marquee_forever"

答案 1 :(得分:0)

只允许TextView为多行

android:singleLine="false"

如果需要,这将允许TextView继续到另一行。

答案 2 :(得分:0)

对于多行文字,您必须在文本视图xml文件中设置android:singleLine="false" 在此之后,为了转到下一行,您必须将\n放在您的字符串中,如此 textView.setText("Hello \nHi");