我有一个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>
我确实尝试了各种解决方案,似乎没有任何效果
答案 0 :(得分:5)
您的文字大小为15 dp,但TextView宽度仅为200 dip。似乎在一行上不能显示超过20个字母。我建议你有三种方式:
android:singleLine="false"
; 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");